sportdb-config 0.5.1 → 0.5.2
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 +4 -1
- data/lib/sportdb/config.rb +3 -1
- data/lib/sportdb/config/club.rb +130 -0
- data/lib/sportdb/config/{clubs.rb → club_index.rb} +32 -121
- data/lib/sportdb/config/config.rb +4 -27
- data/lib/sportdb/config/version.rb +1 -1
- data/lib/sportdb/config/wiki_index.rb +70 -0
- data/test/test_wiki_index.rb +36 -0
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e017d063fd47d049d93b49763c2549bf87412172
|
4
|
+
data.tar.gz: 84d75edb2bb440805ae792c07ac732342f7f6828
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c0c746998dd8bf6da6628174dbcd684a60d6813a85968eed939f056f2fc44df5f035a2c1680902886091d33f26143060d1518e48fbb1ba9a2af9661189ffbbbb
|
7
|
+
data.tar.gz: 1a1ec84bf35b66b891fd7162529db514cbf2975769e7f62deb203263a5b272a25df83527128119086a8134e349e18c57a4c0c3f39a56a5266ddc1f87da205244
|
data/Manifest.txt
CHANGED
@@ -13,8 +13,9 @@ config/world/countries.txt
|
|
13
13
|
config/world/de.txt
|
14
14
|
config/world/eng.txt
|
15
15
|
lib/sportdb/config.rb
|
16
|
+
lib/sportdb/config/club.rb
|
17
|
+
lib/sportdb/config/club_index.rb
|
16
18
|
lib/sportdb/config/club_reader.rb
|
17
|
-
lib/sportdb/config/clubs.rb
|
18
19
|
lib/sportdb/config/config.rb
|
19
20
|
lib/sportdb/config/countries.rb
|
20
21
|
lib/sportdb/config/league.rb
|
@@ -23,6 +24,7 @@ lib/sportdb/config/league_utils.rb
|
|
23
24
|
lib/sportdb/config/season_utils.rb
|
24
25
|
lib/sportdb/config/variants.rb
|
25
26
|
lib/sportdb/config/version.rb
|
27
|
+
lib/sportdb/config/wiki_index.rb
|
26
28
|
lib/sportdb/config/wiki_reader.rb
|
27
29
|
test/helper.rb
|
28
30
|
test/test_club_index.rb
|
@@ -34,4 +36,5 @@ test/test_league_reader.rb
|
|
34
36
|
test/test_league_utils.rb
|
35
37
|
test/test_season_utils.rb
|
36
38
|
test/test_variants.rb
|
39
|
+
test/test_wiki_index.rb
|
37
40
|
test/test_wiki_reader.rb
|
data/lib/sportdb/config.rb
CHANGED
@@ -24,9 +24,11 @@ require 'sportdb/config/league_reader'
|
|
24
24
|
|
25
25
|
require 'sportdb/config/variants'
|
26
26
|
require 'sportdb/config/countries'
|
27
|
-
require 'sportdb/config/
|
27
|
+
require 'sportdb/config/club'
|
28
28
|
require 'sportdb/config/club_reader'
|
29
|
+
require 'sportdb/config/club_index'
|
29
30
|
require 'sportdb/config/wiki_reader'
|
31
|
+
require 'sportdb/config/wiki_index'
|
30
32
|
require 'sportdb/config/config'
|
31
33
|
|
32
34
|
|
@@ -0,0 +1,130 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module SportDb
|
4
|
+
module Import
|
5
|
+
|
6
|
+
##
|
7
|
+
# note: use our own (internal) club struct for now - why? why not?
|
8
|
+
# - check that shape/structure/fields/attributes match
|
9
|
+
# the Team struct in sportdb-text (in SportDb::Struct::Team) !!!!
|
10
|
+
class Club
|
11
|
+
## todo: use just names for alt_names - why? why not?
|
12
|
+
attr_accessor :name, :alt_names,
|
13
|
+
:year, :ground, :city
|
14
|
+
|
15
|
+
## more attribs - todo/fix - also add "upstream" to struct & model!!!!!
|
16
|
+
attr_accessor :district, :geos, :year_end, :country
|
17
|
+
|
18
|
+
## special import only attribs
|
19
|
+
attr_accessor :alt_names_auto ## auto-generated alt names
|
20
|
+
attr_accessor :wikipedia # wikipedia page name (for english (en))
|
21
|
+
|
22
|
+
def historic?() @year_end ? true : false; end
|
23
|
+
alias_method :past?, :historic?
|
24
|
+
|
25
|
+
|
26
|
+
def wikipedia?() @wikipedia; end
|
27
|
+
def wikipedia_url
|
28
|
+
if @wikipedia
|
29
|
+
## note: replace spaces with underscore (-)
|
30
|
+
## e.g. Club Brugge KV => Club_Brugge_KV
|
31
|
+
## todo/check/fix:
|
32
|
+
## check if "plain" dash (-) needs to get replaced with typographic dash??
|
33
|
+
"https://en.wikipedia.org/wiki/#{@wikipedia.gsub(' ','_')}"
|
34
|
+
else
|
35
|
+
nil
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
|
40
|
+
def initialize
|
41
|
+
@alt_names = []
|
42
|
+
@alt_names_auto = []
|
43
|
+
end
|
44
|
+
|
45
|
+
|
46
|
+
## helper methods for import only
|
47
|
+
## check for duplicates
|
48
|
+
def duplicates?
|
49
|
+
names = [name] + alt_names + alt_names_auto
|
50
|
+
names = names.map { |name| normalize( name ) }
|
51
|
+
|
52
|
+
names.size != names.uniq.size
|
53
|
+
end
|
54
|
+
|
55
|
+
def duplicates
|
56
|
+
names = [name] + alt_names + alt_names_auto
|
57
|
+
|
58
|
+
## calculate (count) frequency and select if greater than one
|
59
|
+
names.reduce( Hash.new ) do |h,name|
|
60
|
+
norm = normalize( name )
|
61
|
+
h[norm] ||= []
|
62
|
+
h[norm] << name; h
|
63
|
+
end.select { |norm,names| names.size > 1 }
|
64
|
+
end
|
65
|
+
|
66
|
+
def add_variants( name_or_names )
|
67
|
+
names = name_or_names.is_a?(Array) ? name_or_names : [name_or_names]
|
68
|
+
names.each do |name|
|
69
|
+
name = sanitize( name )
|
70
|
+
self.alt_names_auto += variants( name )
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
###################################
|
75
|
+
# "global" helper - move to ___ ? why? why not?
|
76
|
+
|
77
|
+
YEAR_REGEX = /\([0-9,\- ]+?\)/
|
78
|
+
def self.strip_year( name )
|
79
|
+
## check for year(s) e.g. (1887-1911), (-2013),
|
80
|
+
## (1946-2001, 2013-) etc.
|
81
|
+
name.gsub( YEAR_REGEX, '' ).strip
|
82
|
+
end
|
83
|
+
|
84
|
+
def self.has_year?( name ) name =~ YEAR_REGEX; end
|
85
|
+
|
86
|
+
LANG_REGEX = /\[[a-z]{2}\]/
|
87
|
+
def self.strip_lang( name )
|
88
|
+
name.gsub( LANG_REGEX, '' ).strip
|
89
|
+
end
|
90
|
+
|
91
|
+
def self.has_lang?( name ) name =~ LANG_REGEX; end
|
92
|
+
|
93
|
+
NORM_REGEX = /[.'º\-\/]/
|
94
|
+
## note: remove all dots (.), dash (-), ', º, /, etc.
|
95
|
+
## for norm(alizing) names
|
96
|
+
def self.strip_norm( name )
|
97
|
+
name.gsub( NORM_REGEX, '' )
|
98
|
+
end
|
99
|
+
|
100
|
+
def strip_year( name ) self.class.strip_year( name ); end
|
101
|
+
def strip_lang( name ) self.class.strip_lang( name ); end
|
102
|
+
def strip_norm( name ) self.class.strip_norm( name ); end
|
103
|
+
|
104
|
+
private
|
105
|
+
def sanitize( name )
|
106
|
+
## check for year(s) e.g. (1887-1911), (-2013),
|
107
|
+
## (1946-2001,2013-) etc.
|
108
|
+
name = strip_year( name )
|
109
|
+
## check lang codes e.g. [en], [fr], etc.
|
110
|
+
name = strip_lang( name )
|
111
|
+
name
|
112
|
+
end
|
113
|
+
|
114
|
+
def normalize( name )
|
115
|
+
name = sanitize( name )
|
116
|
+
|
117
|
+
## remove all dots (.), dash (-), º, /, etc.
|
118
|
+
name = strip_norm( name )
|
119
|
+
name = name.gsub( ' ', '' ) # note: also remove all spaces!!!
|
120
|
+
|
121
|
+
## todo/fix: use our own downcase - why? why not?
|
122
|
+
name = name.downcase ## do NOT care about upper and lowercase for now
|
123
|
+
name
|
124
|
+
end
|
125
|
+
|
126
|
+
def variants( name ) Variant.find( name ); end
|
127
|
+
end # class Club
|
128
|
+
|
129
|
+
end # module Import
|
130
|
+
end # module SportDb
|
@@ -3,134 +3,34 @@
|
|
3
3
|
module SportDb
|
4
4
|
module Import
|
5
5
|
|
6
|
-
##
|
7
|
-
# note: use our own (internal) club struct for now - why? why not?
|
8
|
-
# - check that shape/structure/fields/attributes match
|
9
|
-
# the Team struct in sportdb-text (in SportDb::Struct::Team) !!!!
|
10
|
-
class Club
|
11
|
-
## todo: use just names for alt_names - why? why not?
|
12
|
-
attr_accessor :name, :alt_names,
|
13
|
-
:year, :ground, :city
|
14
|
-
|
15
|
-
## more attribs - todo/fix - also add "upstream" to struct & model!!!!!
|
16
|
-
attr_accessor :district, :geos, :year_end, :country
|
17
|
-
|
18
|
-
## special import only attribs
|
19
|
-
attr_accessor :alt_names_auto ## auto-generated alt names
|
20
|
-
attr_accessor :wikipedia # wikipedia page name (for english (en))
|
21
|
-
|
22
|
-
def historic?() @year_end ? true : false; end
|
23
|
-
alias_method :past?, :historic?
|
24
|
-
|
25
|
-
|
26
|
-
def wikipedia?() @wikipedia; end
|
27
|
-
def wikipedia_url
|
28
|
-
if @wikipedia
|
29
|
-
## note: replace spaces with underscore (-)
|
30
|
-
## e.g. Club Brugge KV => Club_Brugge_KV
|
31
|
-
## todo/check/fix:
|
32
|
-
## check if "plain" dash (-) needs to get replaced with typographic dash??
|
33
|
-
"https://en.wikipedia.org/wiki/#{@wikipedia.gsub(' ','_')}"
|
34
|
-
else
|
35
|
-
nil
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
|
40
|
-
def initialize
|
41
|
-
@alt_names = []
|
42
|
-
@alt_names_auto = []
|
43
|
-
end
|
44
|
-
|
45
|
-
|
46
|
-
## helper methods for import only
|
47
|
-
## check for duplicates
|
48
|
-
def duplicates?
|
49
|
-
names = [name] + alt_names + alt_names_auto
|
50
|
-
names = names.map { |name| normalize( name ) }
|
51
|
-
|
52
|
-
names.size != names.uniq.size
|
53
|
-
end
|
54
|
-
|
55
|
-
def duplicates
|
56
|
-
names = [name] + alt_names + alt_names_auto
|
57
6
|
|
58
|
-
|
59
|
-
names.reduce( Hash.new ) do |h,name|
|
60
|
-
norm = normalize( name )
|
61
|
-
h[norm] ||= []
|
62
|
-
h[norm] << name; h
|
63
|
-
end.select { |norm,names| names.size > 1 }
|
64
|
-
end
|
7
|
+
class ClubIndex
|
65
8
|
|
66
|
-
def
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
9
|
+
def self.build( path )
|
10
|
+
recs = []
|
11
|
+
datafiles = Configuration.find_datafiles_clubs( path )
|
12
|
+
datafiles.each do |datafile|
|
13
|
+
recs += ClubReader.read( datafile )
|
71
14
|
end
|
72
|
-
|
73
|
-
|
74
|
-
###################################
|
75
|
-
# "global" helper - move to ___ ? why? why not?
|
76
|
-
|
77
|
-
YEAR_REGEX = /\([0-9,\- ]+?\)/
|
78
|
-
def self.strip_year( name )
|
79
|
-
## check for year(s) e.g. (1887-1911), (-2013),
|
80
|
-
## (1946-2001, 2013-) etc.
|
81
|
-
name.gsub( YEAR_REGEX, '' ).strip
|
82
|
-
end
|
83
|
-
|
84
|
-
def self.has_year?( name ) name =~ YEAR_REGEX; end
|
85
|
-
|
86
|
-
LANG_REGEX = /\[[a-z]{2}\]/
|
87
|
-
def self.strip_lang( name )
|
88
|
-
name.gsub( LANG_REGEX, '' ).strip
|
89
|
-
end
|
15
|
+
recs
|
90
16
|
|
91
|
-
|
17
|
+
clubs = self.new
|
18
|
+
clubs.add( recs )
|
92
19
|
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
def strip_year( name ) self.class.strip_year( name ); end
|
101
|
-
def strip_lang( name ) self.class.strip_lang( name ); end
|
102
|
-
def strip_norm( name ) self.class.strip_norm( name ); end
|
103
|
-
|
104
|
-
private
|
105
|
-
def sanitize( name )
|
106
|
-
## check for year(s) e.g. (1887-1911), (-2013),
|
107
|
-
## (1946-2001,2013-) etc.
|
108
|
-
name = strip_year( name )
|
109
|
-
## check lang codes e.g. [en], [fr], etc.
|
110
|
-
name = strip_lang( name )
|
111
|
-
name
|
112
|
-
end
|
113
|
-
|
114
|
-
def normalize( name )
|
115
|
-
name = sanitize( name )
|
116
|
-
|
117
|
-
## remove all dots (.), dash (-), º, /, etc.
|
118
|
-
name = strip_norm( name )
|
119
|
-
name = name.gsub( ' ', '' ) # note: also remove all spaces!!!
|
20
|
+
## add wiki(pedia) anchored links
|
21
|
+
recs = []
|
22
|
+
datafiles = Configuration.find_datafiles_clubs_wiki( path )
|
23
|
+
datafiles.each do |datafile|
|
24
|
+
recs += WikiReader.read( datafile )
|
25
|
+
end
|
120
26
|
|
121
|
-
|
122
|
-
|
123
|
-
|
27
|
+
pp recs
|
28
|
+
clubs.add_wiki( recs )
|
29
|
+
clubs
|
124
30
|
end
|
125
31
|
|
126
|
-
def variants( name ) Variant.find( name ); end
|
127
|
-
end # class Club
|
128
32
|
|
129
33
|
|
130
|
-
|
131
|
-
|
132
|
-
class ClubIndex
|
133
|
-
|
134
34
|
def initialize
|
135
35
|
@clubs = {} ## clubs (indexed) by canonical name
|
136
36
|
@clubs_by_name = {}
|
@@ -155,13 +55,24 @@ class ClubIndex
|
|
155
55
|
recs = rec_or_recs.is_a?( Array ) ? rec_or_recs : [rec_or_recs] ## wrap (single) rec in array
|
156
56
|
|
157
57
|
recs.each do |rec|
|
158
|
-
|
58
|
+
## note: strip qualifier () from wikipedia page name if present
|
59
|
+
## e.g. FC Wacker Innsbruck (2002) => FC Wacker Innsbruck
|
60
|
+
## Willem II (football club) => Willem II
|
61
|
+
##
|
62
|
+
## e.g. do NOT strip others !! e.g.
|
63
|
+
## América Futebol Clube (MG)
|
64
|
+
## only add more "special" cases on demand (that, is) if we find more
|
65
|
+
name = rec.name
|
66
|
+
name = name.gsub( /\([12][^\)]+?\)/, '' ).strip ## starting with a digit 1 or 2 (assuming year)
|
67
|
+
name = name.gsub( /\(foot[^\)]+?\)/, '' ).strip ## starting with foot (assuming football ...)
|
68
|
+
|
69
|
+
m = match_by( name: name, country: rec.country )
|
159
70
|
if m.nil?
|
160
|
-
puts "** !!! ERROR !!! - no matching club found for wiki(pedia) name >#{
|
71
|
+
puts "** !!! ERROR !!! - no matching club found for wiki(pedia) name >#{name}, #{rec.country.name} (#{rec.country.key})<; sorry - to fix add name to clubs"
|
161
72
|
exit 1
|
162
73
|
end
|
163
74
|
if m.size > 1
|
164
|
-
puts "** !!! ERROR !!! - too many (greater than one) matching clubs found for wiki(pedia) name >#{
|
75
|
+
puts "** !!! ERROR !!! - too many (greater than one) matching clubs found for wiki(pedia) name >#{name}, #{rec.country.name} (#{rec.country.key})<"
|
165
76
|
pp m
|
166
77
|
exit 1
|
167
78
|
end
|
@@ -47,7 +47,7 @@ class Configuration
|
|
47
47
|
}x
|
48
48
|
|
49
49
|
|
50
|
-
def
|
50
|
+
def self.find_datafiles( path, pattern )
|
51
51
|
datafiles = [] ## note: [country, path] pairs for now
|
52
52
|
|
53
53
|
## check all txt files as candidates (MUST include country code for now)
|
@@ -60,38 +60,17 @@ class Configuration
|
|
60
60
|
pp datafiles
|
61
61
|
datafiles
|
62
62
|
end
|
63
|
+
def self.find_datafiles_clubs( path ) find_datafiles( path, CLUBS_REGEX ); end
|
64
|
+
def self.find_datafiles_clubs_wiki( path ) find_datafiles( path, CLUBS_WIKI_REGEX ); end
|
63
65
|
|
64
66
|
|
65
67
|
def build_club_index
|
66
68
|
## unify team names; team (builtin/known/shared) name mappings
|
67
69
|
## cleanup team names - use local ("native") name with umlaut etc.
|
68
|
-
recs = []
|
69
|
-
|
70
|
-
## todo/fix: pass along / use country code too
|
71
|
-
## note: country code no longer needed in path (is now expected as heading inside the file)
|
72
|
-
|
73
70
|
## todo/fix: add to teamreader
|
74
71
|
## check that name and alt_names for a club are all unique (not duplicates)
|
75
|
-
datafiles = find_clubs_datafiles( clubs_dir, CLUBS_REGEX )
|
76
|
-
datafiles.each do |datafile|
|
77
|
-
recs += ClubReader.read( datafile )
|
78
|
-
end
|
79
|
-
|
80
|
-
|
81
|
-
clubs = ClubIndex.new
|
82
|
-
clubs.add( recs )
|
83
|
-
|
84
|
-
## add wiki(pedia) anchored links
|
85
|
-
recs = []
|
86
|
-
datafiles = find_clubs_datafiles( clubs_dir, CLUBS_WIKI_REGEX )
|
87
|
-
datafiles.each do |datafile|
|
88
|
-
recs += WikiReader.read( datafile )
|
89
|
-
end
|
90
|
-
|
91
|
-
pp recs
|
92
|
-
clubs.add_wiki( recs )
|
93
|
-
|
94
72
|
|
73
|
+
clubs = ClubIndex.build( clubs_dir )
|
95
74
|
if clubs.errors?
|
96
75
|
puts ""
|
97
76
|
puts "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!"
|
@@ -122,8 +101,6 @@ end # class Configuration
|
|
122
101
|
|
123
102
|
|
124
103
|
|
125
|
-
|
126
|
-
|
127
104
|
## lets you use
|
128
105
|
## SportDb::Import.configure do |config|
|
129
106
|
## config.hello = 'World'
|
@@ -0,0 +1,70 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
module SportDb
|
4
|
+
module Import
|
5
|
+
|
6
|
+
|
7
|
+
class WikiIndex
|
8
|
+
|
9
|
+
def self.build( path )
|
10
|
+
recs = []
|
11
|
+
datafiles = Configuration.find_datafiles_clubs_wiki( path )
|
12
|
+
datafiles.each do |datafile|
|
13
|
+
recs += WikiReader.read( datafile )
|
14
|
+
end
|
15
|
+
recs
|
16
|
+
|
17
|
+
self.new( recs )
|
18
|
+
end
|
19
|
+
|
20
|
+
def initialize( recs )
|
21
|
+
@pages_by_country = {}
|
22
|
+
|
23
|
+
## todo/fix:
|
24
|
+
## check for duplicate recs - report and exit on dupliate!!!!!!
|
25
|
+
recs.each do |rec|
|
26
|
+
h = @pages_by_country[ rec.country.key ] ||= {}
|
27
|
+
h[ normalize(rec.name) ] = rec
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
|
32
|
+
def normalize( name )
|
33
|
+
## todo/fix: (re)use normalize from Club!!!!
|
34
|
+
name = name.gsub( /[\-\.]/, '' )
|
35
|
+
name = name.gsub( ' ', '' ) ## remove spaces too
|
36
|
+
name = name.downcase
|
37
|
+
name
|
38
|
+
end
|
39
|
+
|
40
|
+
|
41
|
+
|
42
|
+
def find_by( club: ) ## todo/check: use find_by_club - why? why not?
|
43
|
+
find_by_club( club )
|
44
|
+
end
|
45
|
+
|
46
|
+
def find_by_club( club )
|
47
|
+
rec = nil
|
48
|
+
|
49
|
+
## get query params from club
|
50
|
+
names = [club.name]+club.alt_names
|
51
|
+
country_key = club.country.key
|
52
|
+
|
53
|
+
h = @pages_by_country[ country_key ]
|
54
|
+
if h
|
55
|
+
## todo/check: sort names ?
|
56
|
+
## sort by longest first (for best match)
|
57
|
+
names.each do |name|
|
58
|
+
## todo/fix: name - remove/string year and lang e.g. (1946-2001), [en]!!!!
|
59
|
+
rec = h[ normalize( name ) ]
|
60
|
+
break if rec ## bingo!! found - break on first match
|
61
|
+
end
|
62
|
+
end
|
63
|
+
|
64
|
+
rec ## note: return nil if nothing found
|
65
|
+
end
|
66
|
+
end # class WikiIndex
|
67
|
+
|
68
|
+
|
69
|
+
end # module Import
|
70
|
+
end # module SportDb
|
@@ -0,0 +1,36 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
###
|
4
|
+
# to run use
|
5
|
+
# ruby -I ./lib -I ./test test/test_wiki_index.rb
|
6
|
+
|
7
|
+
|
8
|
+
require 'helper'
|
9
|
+
|
10
|
+
class TestWikiIndex < MiniTest::Test
|
11
|
+
|
12
|
+
def test_clubs
|
13
|
+
wiki = SportDb::Import::WikiIndex.build( SportDb::Import.config.clubs_dir )
|
14
|
+
## pp wiki
|
15
|
+
|
16
|
+
##############################################
|
17
|
+
## test wikipedia names and links/urls
|
18
|
+
be = SportDb::Import.config.countries[ 'be' ]
|
19
|
+
|
20
|
+
club = SportDb::Import::Club.new
|
21
|
+
club.name = 'Club Brugge KV'
|
22
|
+
club.country = be
|
23
|
+
|
24
|
+
rec = wiki.find_by( club: club )
|
25
|
+
assert_equal 'Club Brugge KV', rec.name
|
26
|
+
|
27
|
+
|
28
|
+
club = SportDb::Import::Club.new
|
29
|
+
club.name = 'RSC Anderlecht'
|
30
|
+
club.country = be
|
31
|
+
|
32
|
+
rec = wiki.find_by( club: club )
|
33
|
+
assert_equal 'R.S.C. Anderlecht', rec.name
|
34
|
+
end
|
35
|
+
|
36
|
+
end # class TestWikiIndex
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sportdb-config
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.5.
|
4
|
+
version: 0.5.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gerald Bauer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-08-
|
11
|
+
date: 2019-08-05 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: csvreader
|
@@ -86,8 +86,9 @@ files:
|
|
86
86
|
- config/world/de.txt
|
87
87
|
- config/world/eng.txt
|
88
88
|
- lib/sportdb/config.rb
|
89
|
+
- lib/sportdb/config/club.rb
|
90
|
+
- lib/sportdb/config/club_index.rb
|
89
91
|
- lib/sportdb/config/club_reader.rb
|
90
|
-
- lib/sportdb/config/clubs.rb
|
91
92
|
- lib/sportdb/config/config.rb
|
92
93
|
- lib/sportdb/config/countries.rb
|
93
94
|
- lib/sportdb/config/league.rb
|
@@ -96,6 +97,7 @@ files:
|
|
96
97
|
- lib/sportdb/config/season_utils.rb
|
97
98
|
- lib/sportdb/config/variants.rb
|
98
99
|
- lib/sportdb/config/version.rb
|
100
|
+
- lib/sportdb/config/wiki_index.rb
|
99
101
|
- lib/sportdb/config/wiki_reader.rb
|
100
102
|
- test/helper.rb
|
101
103
|
- test/test_club_index.rb
|
@@ -107,6 +109,7 @@ files:
|
|
107
109
|
- test/test_league_utils.rb
|
108
110
|
- test/test_season_utils.rb
|
109
111
|
- test/test_variants.rb
|
112
|
+
- test/test_wiki_index.rb
|
110
113
|
- test/test_wiki_reader.rb
|
111
114
|
homepage: https://github.com/sportdb/sport.db
|
112
115
|
licenses:
|