sportdb-formats 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Manifest.txt +21 -0
- data/lib/sportdb/formats.rb +63 -0
- data/lib/sportdb/formats/country/country_index.rb +192 -0
- data/lib/sportdb/formats/country/country_reader.rb +122 -0
- data/lib/sportdb/formats/league/league_index.rb +174 -0
- data/lib/sportdb/formats/league/league_outline_reader.rb +141 -0
- data/lib/sportdb/formats/league/league_reader.rb +162 -0
- data/lib/sportdb/formats/team/club_index.rb +336 -0
- data/lib/sportdb/formats/team/club_reader.rb +350 -0
- data/lib/sportdb/formats/team/club_reader_props.rb +75 -0
- data/lib/sportdb/formats/team/national_team_index.rb +114 -0
- data/lib/sportdb/formats/team/team_index.rb +43 -0
- data/lib/sportdb/formats/team/wiki_reader.rb +108 -0
- data/lib/sportdb/formats/version.rb +1 -1
- data/test/helper.rb +72 -0
- data/test/test_club_index.rb +183 -0
- data/test/test_club_reader.rb +201 -0
- data/test/test_club_reader_props.rb +54 -0
- data/test/test_country_index.rb +63 -0
- data/test/test_country_reader.rb +59 -0
- data/test/test_league_index.rb +157 -0
- data/test/test_league_outline_reader.rb +55 -0
- data/test/test_league_reader.rb +72 -0
- data/test/test_regex.rb +49 -0
- data/test/test_wiki_reader.rb +77 -0
- metadata +22 -1
@@ -0,0 +1,55 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
###
|
4
|
+
# to run use
|
5
|
+
# ruby -I ./lib -I ./test test/test_league_outline_reader.rb
|
6
|
+
|
7
|
+
|
8
|
+
require 'helper'
|
9
|
+
|
10
|
+
|
11
|
+
class TestLeagueOutlineReader < MiniTest::Test
|
12
|
+
|
13
|
+
def test_parse
|
14
|
+
txt = <<TXT
|
15
|
+
= ENG PL 2019/20
|
16
|
+
|
17
|
+
line
|
18
|
+
line
|
19
|
+
|
20
|
+
= ENG CS 2019/20
|
21
|
+
|
22
|
+
line
|
23
|
+
line
|
24
|
+
|
25
|
+
= ENG PL 2020/1
|
26
|
+
|
27
|
+
line
|
28
|
+
line
|
29
|
+
TXT
|
30
|
+
|
31
|
+
secs = SportDb::LeagueOutlineReader.parse( txt )
|
32
|
+
pp secs
|
33
|
+
|
34
|
+
assert_equal 3, secs.size
|
35
|
+
|
36
|
+
league = secs[0][:league]
|
37
|
+
assert_equal 'English Premier League', league.name
|
38
|
+
assert_equal 'eng.1', league.key
|
39
|
+
assert_equal 'England', league.country.name
|
40
|
+
assert_equal 'eng', league.country.key
|
41
|
+
|
42
|
+
season = secs[0][:season]
|
43
|
+
assert_equal '2019/20', season.key
|
44
|
+
|
45
|
+
## try with season filter
|
46
|
+
secs = SportDb::LeagueOutlineReader.parse( txt, season: '2020/21' )
|
47
|
+
pp secs
|
48
|
+
|
49
|
+
assert_equal 1, secs.size
|
50
|
+
|
51
|
+
season = secs[0][:season]
|
52
|
+
assert_equal '2020/21', season.key
|
53
|
+
end
|
54
|
+
|
55
|
+
end # class TestLeagueOutlineReader
|
@@ -0,0 +1,72 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
###
|
4
|
+
# to run use
|
5
|
+
# ruby -I ./lib -I ./test test/test_league_reader.rb
|
6
|
+
|
7
|
+
|
8
|
+
require 'helper'
|
9
|
+
|
10
|
+
class TestLeagueReader < MiniTest::Test
|
11
|
+
|
12
|
+
def test_parse_at
|
13
|
+
recs = SportDb::Import::LeagueReader.parse( <<TXT )
|
14
|
+
==============================
|
15
|
+
= Austria
|
16
|
+
1 Bundesliga
|
17
|
+
| AUT BL | Österreich Bundesliga
|
18
|
+
2 2. Liga
|
19
|
+
| Österreich Zweite Liga
|
20
|
+
|
21
|
+
3.o Regionalliga Ost
|
22
|
+
| AUT RLO | Österreich Regionalliga Ost
|
23
|
+
3.m Regionalliga Mitte
|
24
|
+
| AUT RLM | Österreich Regionalliga Mitte
|
25
|
+
3.sbg Regionalliga Salzburg
|
26
|
+
| RL SBG
|
27
|
+
3.t Regionalliga Tirol
|
28
|
+
| RL TIR
|
29
|
+
TXT
|
30
|
+
|
31
|
+
pp recs
|
32
|
+
|
33
|
+
assert_equal 6, recs.size
|
34
|
+
assert_equal '2. Liga', recs[1].name
|
35
|
+
assert_equal 'at.2', recs[1].key
|
36
|
+
assert_equal 'Austria', recs[1].country.name
|
37
|
+
assert_equal 'at', recs[1].country.key
|
38
|
+
|
39
|
+
assert recs[0].alt_names_auto.include?( 'AT' )
|
40
|
+
assert recs[0].alt_names_auto.include?( 'AT 1' )
|
41
|
+
assert recs[0].alt_names_auto.include?( 'AUT 1' )
|
42
|
+
assert recs[0].alt_names_auto.include?( 'Austria 1' )
|
43
|
+
|
44
|
+
assert recs[1].alt_names_auto.include?( 'AT 2' )
|
45
|
+
assert recs[1].alt_names_auto.include?( 'AUT 2' )
|
46
|
+
assert recs[1].alt_names_auto.include?( 'Austria 2' )
|
47
|
+
end
|
48
|
+
|
49
|
+
|
50
|
+
def test_parse_us
|
51
|
+
recs = SportDb::Import::LeagueReader.parse( <<TXT )
|
52
|
+
=============================================
|
53
|
+
= United States
|
54
|
+
1 Major League Soccer
|
55
|
+
| USA MLS | USA Major League Soccer
|
56
|
+
cup US Open Cup
|
57
|
+
| USA US Open Cup
|
58
|
+
TXT
|
59
|
+
|
60
|
+
pp recs
|
61
|
+
|
62
|
+
assert_equal 2, recs.size
|
63
|
+
assert_equal 'Major League Soccer', recs[0].name
|
64
|
+
assert_equal 'us.1', recs[0].key
|
65
|
+
assert_equal 'United States', recs[0].country.name
|
66
|
+
assert_equal 'us', recs[0].country.key
|
67
|
+
|
68
|
+
assert_equal 'US Open Cup', recs[1].name
|
69
|
+
assert_equal 'us.cup', recs[1].key
|
70
|
+
end
|
71
|
+
|
72
|
+
end # class TestLeagueReader
|
data/test/test_regex.rb
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
###
|
4
|
+
# to run use
|
5
|
+
# ruby -I ./lib -I ./test test/test_regex.rb
|
6
|
+
|
7
|
+
|
8
|
+
require 'helper'
|
9
|
+
|
10
|
+
class TestRegex < MiniTest::Test
|
11
|
+
|
12
|
+
ADDR_MARKER_RE = SportDb::Import::ClubReader::ADDR_MARKER_RE
|
13
|
+
B_TEAM_MARKER_RE = SportDb::Import::ClubReader::B_TEAM_MARKER_RE
|
14
|
+
|
15
|
+
def test_addr
|
16
|
+
assert '~ Wien' =~ ADDR_MARKER_RE
|
17
|
+
assert 'Wien ~' =~ ADDR_MARKER_RE
|
18
|
+
assert 'Fischhofgasse 12 ~ 1100 Wien' =~ ADDR_MARKER_RE
|
19
|
+
assert 'Fischhofgasse 12 ++ 1100 Wien' =~ ADDR_MARKER_RE
|
20
|
+
assert 'Fischhofgasse 12 +++ 1100 Wien' =~ ADDR_MARKER_RE
|
21
|
+
assert 'Fischhofgasse 12 // 1100 Wien' =~ ADDR_MARKER_RE
|
22
|
+
assert 'Fischhofgasse 12 /// 1100 Wien' =~ ADDR_MARKER_RE
|
23
|
+
|
24
|
+
assert_nil 'Fischhofgasse 12 + 1100 Wien' =~ ADDR_MARKER_RE
|
25
|
+
assert_nil 'Fischhofgasse 12++1100 Wien' =~ ADDR_MARKER_RE
|
26
|
+
assert_nil 'Fischhofgasse 12 / 1100 Wien' =~ ADDR_MARKER_RE
|
27
|
+
assert_nil 'Fischhofgasse 12//1100 Wien' =~ ADDR_MARKER_RE
|
28
|
+
|
29
|
+
assert_nil 'Atlanta United FC, 2017, Atlanta › Georgia' =~ ADDR_MARKER_RE
|
30
|
+
end
|
31
|
+
|
32
|
+
def test_b_team
|
33
|
+
assert 'b) Rapid Wien II' =~ B_TEAM_MARKER_RE
|
34
|
+
assert '(b) Rapid Wien II' =~ B_TEAM_MARKER_RE
|
35
|
+
assert '(b.) Rapid Wien II' =~ B_TEAM_MARKER_RE
|
36
|
+
assert 'ii) Rapid Wien II' =~ B_TEAM_MARKER_RE
|
37
|
+
assert 'II) Rapid Wien II' =~ B_TEAM_MARKER_RE
|
38
|
+
assert '(ii.) Rapid Wien II' =~ B_TEAM_MARKER_RE
|
39
|
+
assert '2) Rapid Wien II' =~ B_TEAM_MARKER_RE
|
40
|
+
assert '(2) Rapid Wien II' =~ B_TEAM_MARKER_RE
|
41
|
+
|
42
|
+
assert_nil '(3) Rapid Wien II' =~ B_TEAM_MARKER_RE
|
43
|
+
assert_nil '(iii) Rapid Wien II' =~ B_TEAM_MARKER_RE
|
44
|
+
assert_nil 'iii) Rapid Wien II' =~ B_TEAM_MARKER_RE
|
45
|
+
assert_nil 'c) Rapid Wien II' =~ B_TEAM_MARKER_RE
|
46
|
+
assert_nil '(c) Rapid Wien II' =~ B_TEAM_MARKER_RE
|
47
|
+
end
|
48
|
+
|
49
|
+
end # class TestRegex
|
@@ -0,0 +1,77 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
###
|
4
|
+
# to run use
|
5
|
+
# ruby -I ./lib -I ./test test/test_wiki_reader.rb
|
6
|
+
|
7
|
+
|
8
|
+
require 'helper'
|
9
|
+
|
10
|
+
class TestWikiReader < MiniTest::Test
|
11
|
+
|
12
|
+
def test_parse_at
|
13
|
+
recs = SportDb::Import::WikiReader.parse( <<TXT )
|
14
|
+
===================================
|
15
|
+
= Albania
|
16
|
+
|
17
|
+
FK Partizani Tirana
|
18
|
+
KF Tirana
|
19
|
+
FK Kukësi
|
20
|
+
KF Laçi
|
21
|
+
TXT
|
22
|
+
|
23
|
+
pp recs
|
24
|
+
|
25
|
+
assert_equal 4, recs.size
|
26
|
+
assert_equal 'FK Partizani Tirana', recs[0].name
|
27
|
+
assert_equal 'Albania', recs[0].country.name
|
28
|
+
assert_equal 'al', recs[0].country.key
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
def test_parse_be
|
33
|
+
recs = SportDb::Import::WikiReader.parse( <<TXT )
|
34
|
+
===========================
|
35
|
+
= Belgium
|
36
|
+
|
37
|
+
R.S.C._Anderlecht
|
38
|
+
Royal_Antwerp_F.C.
|
39
|
+
Cercle_Brugge_K.S.V.
|
40
|
+
R._Charleroi_S.C.
|
41
|
+
Club_Brugge_KV
|
42
|
+
TXT
|
43
|
+
|
44
|
+
pp recs
|
45
|
+
|
46
|
+
assert_equal 5, recs.size
|
47
|
+
assert_equal 'R.S.C. Anderlecht', recs[0].name
|
48
|
+
assert_equal 'Belgium', recs[0].country.name
|
49
|
+
assert_equal 'be', recs[0].country.key
|
50
|
+
end
|
51
|
+
|
52
|
+
def test_parse_world
|
53
|
+
recs = SportDb::Import::WikiReader.parse( <<TXT )
|
54
|
+
= Albania =
|
55
|
+
|
56
|
+
FK Partizani Tirana
|
57
|
+
|
58
|
+
|
59
|
+
= Belgium =
|
60
|
+
|
61
|
+
# some comments here
|
62
|
+
R.S.C._Anderlecht # some end-of-line comments here
|
63
|
+
TXT
|
64
|
+
|
65
|
+
pp recs
|
66
|
+
|
67
|
+
assert_equal 2, recs.size
|
68
|
+
assert_equal 'FK Partizani Tirana', recs[0].name
|
69
|
+
assert_equal 'Albania', recs[0].country.name
|
70
|
+
assert_equal 'al', recs[0].country.key
|
71
|
+
|
72
|
+
assert_equal 'R.S.C. Anderlecht', recs[1].name
|
73
|
+
assert_equal 'Belgium', recs[1].country.name
|
74
|
+
assert_equal 'be', recs[1].country.key
|
75
|
+
end
|
76
|
+
|
77
|
+
end # class TestWikiReader
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sportdb-formats
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gerald Bauer
|
@@ -123,9 +123,14 @@ files:
|
|
123
123
|
- Rakefile
|
124
124
|
- lib/sportdb/formats.rb
|
125
125
|
- lib/sportdb/formats/config.rb
|
126
|
+
- lib/sportdb/formats/country/country_index.rb
|
127
|
+
- lib/sportdb/formats/country/country_reader.rb
|
126
128
|
- lib/sportdb/formats/datafile.rb
|
127
129
|
- lib/sportdb/formats/datafile_package.rb
|
128
130
|
- lib/sportdb/formats/goals.rb
|
131
|
+
- lib/sportdb/formats/league/league_index.rb
|
132
|
+
- lib/sportdb/formats/league/league_outline_reader.rb
|
133
|
+
- lib/sportdb/formats/league/league_reader.rb
|
129
134
|
- lib/sportdb/formats/match/conf_parser.rb
|
130
135
|
- lib/sportdb/formats/match/mapper.rb
|
131
136
|
- lib/sportdb/formats/match/mapper_teams.rb
|
@@ -148,13 +153,27 @@ files:
|
|
148
153
|
- lib/sportdb/formats/structs/standings.rb
|
149
154
|
- lib/sportdb/formats/structs/team.rb
|
150
155
|
- lib/sportdb/formats/structs/team_usage.rb
|
156
|
+
- lib/sportdb/formats/team/club_index.rb
|
157
|
+
- lib/sportdb/formats/team/club_reader.rb
|
158
|
+
- lib/sportdb/formats/team/club_reader_props.rb
|
159
|
+
- lib/sportdb/formats/team/national_team_index.rb
|
160
|
+
- lib/sportdb/formats/team/team_index.rb
|
161
|
+
- lib/sportdb/formats/team/wiki_reader.rb
|
151
162
|
- lib/sportdb/formats/version.rb
|
152
163
|
- test/helper.rb
|
164
|
+
- test/test_club_index.rb
|
165
|
+
- test/test_club_reader.rb
|
166
|
+
- test/test_club_reader_props.rb
|
153
167
|
- test/test_clubs.rb
|
154
168
|
- test/test_conf.rb
|
169
|
+
- test/test_country_index.rb
|
170
|
+
- test/test_country_reader.rb
|
155
171
|
- test/test_csv_reader.rb
|
156
172
|
- test/test_datafile.rb
|
157
173
|
- test/test_goals.rb
|
174
|
+
- test/test_league_index.rb
|
175
|
+
- test/test_league_outline_reader.rb
|
176
|
+
- test/test_league_reader.rb
|
158
177
|
- test/test_match.rb
|
159
178
|
- test/test_match_auto.rb
|
160
179
|
- test/test_match_auto_champs.rb
|
@@ -168,8 +187,10 @@ files:
|
|
168
187
|
- test/test_outline_reader.rb
|
169
188
|
- test/test_package.rb
|
170
189
|
- test/test_package_match.rb
|
190
|
+
- test/test_regex.rb
|
171
191
|
- test/test_scores.rb
|
172
192
|
- test/test_season.rb
|
193
|
+
- test/test_wiki_reader.rb
|
173
194
|
homepage: https://github.com/sportdb/sport.db
|
174
195
|
licenses:
|
175
196
|
- Public Domain
|