sportdb 1.8.2 → 1.8.3
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.
- data/lib/sportdb/models/ground.rb +12 -7
- data/lib/sportdb/models/team.rb +11 -0
- data/lib/sportdb/reader.rb +6 -4
- data/lib/sportdb/schema.rb +9 -0
- data/lib/sportdb/version.rb +1 -1
- metadata +12 -12
|
@@ -19,20 +19,23 @@ class Ground < ActiveRecord::Base
|
|
|
19
19
|
city_title = ''
|
|
20
20
|
|
|
21
21
|
values.each_with_index do |value, index|
|
|
22
|
-
if value =~ /^[
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
if value =~ /^(19|20)[0-9]{2}$/ ## assume founding year -- allow 19|20
|
|
23
|
+
logger.info " founding/opening year #{value}"
|
|
24
|
+
new_attributes[ :since ] = value.to_i
|
|
25
25
|
elsif value =~ /^[1-9][0-9_]+[0-9]$/ # number; assume capacity e.g. 12_541 or similar
|
|
26
|
-
# todo/fix: check how to differentiate between founding year
|
|
26
|
+
# todo/fix: check how to differentiate between founding year
|
|
27
|
+
# and capacity if capcity islike year
|
|
28
|
+
# need to use _ e.g. 1_999 not 1999 and will get added as capacity !!!
|
|
27
29
|
# - by position ?? year is first entry, capacity is second ??? -add/fix
|
|
28
30
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
+
logger.info " found capacity #{value}"
|
|
32
|
+
new_attributes[ :capacity ] = value.gsub('_', '').to_i
|
|
31
33
|
elsif value =~ /^[A-Z]{1,3}$/ # assume; state/region code e-g B | TX etc.
|
|
32
34
|
# skip region/state code
|
|
33
35
|
logger.info " found region/state code #{value}; skipping for now"
|
|
34
36
|
elsif value =~ /\/{2}/ # assume it's an address line e.g. xx // xx
|
|
35
|
-
logger.info " found address line #{value}
|
|
37
|
+
logger.info " found address line #{value}"
|
|
38
|
+
new_attributes[ :address ] = value
|
|
36
39
|
elsif value =~ /^clubs:/ # assume it's clubs line e.g. clubs: Santos
|
|
37
40
|
logger.info " found clubs line #{value}; skipping for now"
|
|
38
41
|
elsif value =~ /^(?:[a-z]{2}\.)?wikipedia:/ # assume it's wikipedia e.g. [es.]wikipedia:
|
|
@@ -67,6 +70,8 @@ class Ground < ActiveRecord::Base
|
|
|
67
70
|
#### try to auto-add city
|
|
68
71
|
|
|
69
72
|
if city_title.present?
|
|
73
|
+
|
|
74
|
+
### todo/fix: strip city_title subtitles e.g. Hamburg (Hafen) becomes Hamburg etc.
|
|
70
75
|
city_values = [city_title]
|
|
71
76
|
city_attributes = {
|
|
72
77
|
country_id: rec.country_id,
|
data/lib/sportdb/models/team.rb
CHANGED
|
@@ -54,9 +54,20 @@ class Team < ActiveRecord::Base
|
|
|
54
54
|
logger.warn "city with key #{value_city_key} missing"
|
|
55
55
|
## todo: log errors to db log???
|
|
56
56
|
end
|
|
57
|
+
elsif value =~ /^(18|19|20)[0-9]{2}$/ ## assume founding year -- allow 18|19|20
|
|
58
|
+
## logger.info " founding/opening year #{value}"
|
|
59
|
+
new_attributes[ :since ] = value.to_i
|
|
60
|
+
elsif value =~ /\/{2}/ # assume it's an address line e.g. xx // xx
|
|
61
|
+
## logger.info " found address line #{value}"
|
|
62
|
+
new_attributes[ :address ] = value
|
|
63
|
+
elsif value =~ /^(?:[a-z]{2}\.)?wikipedia:/ # assume it's wikipedia e.g. [es.]wikipedia:
|
|
64
|
+
logger.info " found wikipedia line #{value}; skipping for now"
|
|
65
|
+
elsif value =~ /(^www\.)|(\.com$)/ # FIX: !!!! use a better matcher not just www. and .com
|
|
66
|
+
new_attributes[ :web ] = value
|
|
57
67
|
elsif value =~ /^[A-Z][A-Z0-9][A-Z0-9_]?$/ ## assume two or three-letter code e.g. FCB, RBS, etc.
|
|
58
68
|
new_attributes[ :code ] = value
|
|
59
69
|
elsif value =~ /^[a-z]{2}$/ ## assume two-letter country key e.g. at,de,mx,etc.
|
|
70
|
+
## fix: allow country letter with three e.g. eng,sco,wal,nir, etc. !!!
|
|
60
71
|
value_country = Country.find_by_key!( value )
|
|
61
72
|
new_attributes[ :country_id ] = value_country.id
|
|
62
73
|
else
|
data/lib/sportdb/reader.rb
CHANGED
|
@@ -107,9 +107,10 @@ class Reader
|
|
|
107
107
|
load_leagues( name, club: true, country_id: country.id )
|
|
108
108
|
end
|
|
109
109
|
elsif name =~ /(?:^|\/)leagues/ # NB: ^leagues or also possible world!/leagues - NB: make sure goes after leagues_for_country!!
|
|
110
|
-
if name =~ /-cup!?\// # NB: -cup/ or -cup!/
|
|
110
|
+
if name =~ /-cup!?\// || # NB: -cup/ or -cup!/
|
|
111
|
+
name =~ /copa-america!?\// # NB: copa-america/ or copa-america!/
|
|
111
112
|
# e.g. national team tournaments/leagues (e.g. world-cup/ or euro-cup/)
|
|
112
|
-
load_leagues( name )
|
|
113
|
+
load_leagues( name, club: false )
|
|
113
114
|
else
|
|
114
115
|
# e.g. leagues_club
|
|
115
116
|
load_leagues( name, club: true )
|
|
@@ -121,10 +122,11 @@ class Reader
|
|
|
121
122
|
load_teams( name, club: true, country_id: country.id )
|
|
122
123
|
end
|
|
123
124
|
elsif name =~ /(?:^|\/)teams/
|
|
124
|
-
if name =~ /-cup!?\//
|
|
125
|
+
if name =~ /-cup!?\// || # NB: -cup/ or -cup!/
|
|
126
|
+
name =~ /copa-america!?\// # NB: copa-america/ or copa-america!/
|
|
125
127
|
# assume national teams
|
|
126
128
|
# e.g. world-cup/teams amercia-cup/teams_northern
|
|
127
|
-
load_teams( name,
|
|
129
|
+
load_teams( name, club: false )
|
|
128
130
|
else
|
|
129
131
|
# club teams (many countries)
|
|
130
132
|
# e.g. club/europe/teams
|
data/lib/sportdb/schema.rb
CHANGED
|
@@ -15,6 +15,10 @@ create_table :teams do |t|
|
|
|
15
15
|
t.references :city # NB: city is optional (should be required for clubs e.g. non-national teams)
|
|
16
16
|
t.boolean :club, null: false, default: false # is it a club (not a national team)?
|
|
17
17
|
|
|
18
|
+
t.integer :since # founding year
|
|
19
|
+
t.string :address
|
|
20
|
+
t.string :web
|
|
21
|
+
|
|
18
22
|
### fix: remove and add virtual attribute in model instead
|
|
19
23
|
t.boolean :national, null: false, default: false # is it a national selection team (not a club)?
|
|
20
24
|
t.timestamps
|
|
@@ -31,6 +35,11 @@ create_table :grounds do |t|
|
|
|
31
35
|
t.references :country, null: false
|
|
32
36
|
t.references :city # todo: make city required ???
|
|
33
37
|
|
|
38
|
+
t.integer :since # founding year
|
|
39
|
+
t.integer :capacity # attentence capacity e.g. 10_000 or 50_000 etc.
|
|
40
|
+
t.string :address
|
|
41
|
+
|
|
42
|
+
|
|
34
43
|
### fix/todo: add since/founded/opened/build attrib eg. 2011 or 1987
|
|
35
44
|
## - add capacity e.g. 40_000
|
|
36
45
|
## fix: add address !!!! etc
|
data/lib/sportdb/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: sportdb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.8.
|
|
4
|
+
version: 1.8.3
|
|
5
5
|
prerelease:
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
@@ -9,11 +9,11 @@ authors:
|
|
|
9
9
|
autorequire:
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
|
-
date: 2014-02-
|
|
12
|
+
date: 2014-02-14 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: worlddb
|
|
16
|
-
requirement: &
|
|
16
|
+
requirement: &18821544 !ruby/object:Gem::Requirement
|
|
17
17
|
none: false
|
|
18
18
|
requirements:
|
|
19
19
|
- - ! '>='
|
|
@@ -21,10 +21,10 @@ dependencies:
|
|
|
21
21
|
version: '1.7'
|
|
22
22
|
type: :runtime
|
|
23
23
|
prerelease: false
|
|
24
|
-
version_requirements: *
|
|
24
|
+
version_requirements: *18821544
|
|
25
25
|
- !ruby/object:Gem::Dependency
|
|
26
26
|
name: fetcher
|
|
27
|
-
requirement: &
|
|
27
|
+
requirement: &18819840 !ruby/object:Gem::Requirement
|
|
28
28
|
none: false
|
|
29
29
|
requirements:
|
|
30
30
|
- - ! '>='
|
|
@@ -32,10 +32,10 @@ dependencies:
|
|
|
32
32
|
version: '0.3'
|
|
33
33
|
type: :runtime
|
|
34
34
|
prerelease: false
|
|
35
|
-
version_requirements: *
|
|
35
|
+
version_requirements: *18819840
|
|
36
36
|
- !ruby/object:Gem::Dependency
|
|
37
37
|
name: gli
|
|
38
|
-
requirement: &
|
|
38
|
+
requirement: &18818232 !ruby/object:Gem::Requirement
|
|
39
39
|
none: false
|
|
40
40
|
requirements:
|
|
41
41
|
- - ! '>='
|
|
@@ -43,10 +43,10 @@ dependencies:
|
|
|
43
43
|
version: 2.5.6
|
|
44
44
|
type: :runtime
|
|
45
45
|
prerelease: false
|
|
46
|
-
version_requirements: *
|
|
46
|
+
version_requirements: *18818232
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
48
|
name: rdoc
|
|
49
|
-
requirement: &
|
|
49
|
+
requirement: &18832080 !ruby/object:Gem::Requirement
|
|
50
50
|
none: false
|
|
51
51
|
requirements:
|
|
52
52
|
- - ~>
|
|
@@ -54,10 +54,10 @@ dependencies:
|
|
|
54
54
|
version: '4.0'
|
|
55
55
|
type: :development
|
|
56
56
|
prerelease: false
|
|
57
|
-
version_requirements: *
|
|
57
|
+
version_requirements: *18832080
|
|
58
58
|
- !ruby/object:Gem::Dependency
|
|
59
59
|
name: hoe
|
|
60
|
-
requirement: &
|
|
60
|
+
requirement: &18826716 !ruby/object:Gem::Requirement
|
|
61
61
|
none: false
|
|
62
62
|
requirements:
|
|
63
63
|
- - ~>
|
|
@@ -65,7 +65,7 @@ dependencies:
|
|
|
65
65
|
version: '3.7'
|
|
66
66
|
type: :development
|
|
67
67
|
prerelease: false
|
|
68
|
-
version_requirements: *
|
|
68
|
+
version_requirements: *18826716
|
|
69
69
|
description: sportdb - sport.db command line tool
|
|
70
70
|
email: opensport@googlegroups.com
|
|
71
71
|
executables:
|