sportdb 1.0.1 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +1 -1
- data/lib/sportdb.rb +2 -2
- data/lib/sportdb/cli/main.rb +3 -5
- data/lib/sportdb/reader.rb +28 -34
- data/lib/sportdb/version.rb +1 -1
- metadata +7 -7
data/Rakefile
CHANGED
data/lib/sportdb.rb
CHANGED
@@ -99,7 +99,7 @@ module SportDB
|
|
99
99
|
|
100
100
|
def self.read_setup( setup, include_path )
|
101
101
|
reader = Reader.new
|
102
|
-
reader.
|
102
|
+
reader.load_setup( setup, include_path )
|
103
103
|
end
|
104
104
|
|
105
105
|
def self.read_all( include_path ) # convenience helper
|
@@ -114,7 +114,7 @@ module SportDB
|
|
114
114
|
|
115
115
|
def self.read( ary, include_path )
|
116
116
|
reader = Reader.new
|
117
|
-
reader.
|
117
|
+
reader.load( ary, include_path )
|
118
118
|
end
|
119
119
|
|
120
120
|
|
data/lib/sportdb/cli/main.rb
CHANGED
@@ -136,21 +136,19 @@ command :load do |c|
|
|
136
136
|
|
137
137
|
SportDB.delete! if options.delete.present?
|
138
138
|
|
139
|
-
|
139
|
+
reader = SportDB::Reader.new
|
140
140
|
|
141
|
-
reader = SportDB::Reader.new( logger )
|
142
|
-
|
143
141
|
args.each do |arg|
|
144
142
|
name = arg # File.basename( arg, '.*' )
|
145
143
|
|
146
144
|
if myopts.event.present?
|
147
145
|
## fix: rename to load_event_fixtures_w... or similar
|
148
|
-
reader.
|
146
|
+
reader.load_fixtures( myopts.event, name, myopts.data_path )
|
149
147
|
else
|
150
148
|
## fix> add a convenience method for loading single fixture
|
151
149
|
ary = []
|
152
150
|
ary << name
|
153
|
-
reader.
|
151
|
+
reader.load( ary, myopts.data_path )
|
154
152
|
end
|
155
153
|
end # each arg
|
156
154
|
|
data/lib/sportdb/reader.rb
CHANGED
@@ -9,26 +9,20 @@ class Reader
|
|
9
9
|
include SportDB::Models
|
10
10
|
|
11
11
|
|
12
|
-
def initialize(
|
13
|
-
|
14
|
-
@logger = LogUtils::Logger.new
|
15
|
-
## @logger = Logger.new(STDOUT)
|
16
|
-
## @logger.level = Logger::INFO
|
17
|
-
else
|
18
|
-
@logger = logger
|
19
|
-
end
|
12
|
+
def initialize( opts={} )
|
13
|
+
@logger = LogUtils::Logger.new
|
20
14
|
end
|
21
15
|
|
22
16
|
attr_reader :logger
|
23
17
|
|
24
|
-
def
|
25
|
-
ary =
|
26
|
-
|
27
|
-
end # method
|
18
|
+
def load_setup( setup, include_path )
|
19
|
+
ary = load_fixture_setup( setup, include_path )
|
20
|
+
load( ary, include_path )
|
21
|
+
end # method load_setup
|
28
22
|
|
29
23
|
|
30
24
|
## fix/todo: rename ??
|
31
|
-
def
|
25
|
+
def load_fixture_setup( name, include_path )
|
32
26
|
|
33
27
|
## todo/fix: cleanup quick and dirty code
|
34
28
|
|
@@ -74,12 +68,12 @@ class Reader
|
|
74
68
|
|
75
69
|
ary
|
76
70
|
|
77
|
-
end #
|
71
|
+
end # load_fixture_setup
|
78
72
|
|
79
73
|
|
80
|
-
def
|
74
|
+
def load( ary, include_path ) # convenience helper for all-in-one reader
|
81
75
|
|
82
|
-
puts "[debug] enter
|
76
|
+
puts "[debug] enter load(include_path=>>#{include_path}<<):"
|
83
77
|
pp ary
|
84
78
|
|
85
79
|
ary.each do |rec|
|
@@ -88,30 +82,30 @@ class Reader
|
|
88
82
|
name = rec
|
89
83
|
|
90
84
|
if name =~ /^seasons/
|
91
|
-
|
85
|
+
load_seasons( name, include_path )
|
92
86
|
elsif name =~ /^leagues/
|
93
87
|
if name =~ /club/
|
94
88
|
# e.g. leagues_club
|
95
|
-
|
89
|
+
load_leagues( name, include_path, { club: true } )
|
96
90
|
else
|
97
91
|
# e.g. leagues
|
98
|
-
|
92
|
+
load_leagues( name, include_path )
|
99
93
|
end
|
100
94
|
elsif name =~ /^([a-z]{2})\/teams/
|
101
95
|
# auto-add country code (from folder structure) for country-specific teams
|
102
96
|
# e.g. at/teams at/teams2 de/teams etc.
|
103
97
|
country_key = $1
|
104
98
|
country = Country.find_by_key!( country_key )
|
105
|
-
|
99
|
+
load_teams( name, include_path, { club: true, country_id: country.id } )
|
106
100
|
elsif name =~ /\/teams/
|
107
101
|
if name =~ /club/
|
108
102
|
# club teams (many countries)
|
109
103
|
# e.g. club/europe/teams
|
110
|
-
|
104
|
+
load_teams( name, include_path, { club: true } )
|
111
105
|
else
|
112
106
|
# assume national teams
|
113
107
|
# e.g. world/teams amercia/teams_n
|
114
|
-
|
108
|
+
load_teams( name, include_path, { national: true } )
|
115
109
|
end
|
116
110
|
else
|
117
111
|
logger.error "unknown sportdb fixture type >#{name}<"
|
@@ -126,17 +120,17 @@ class Reader
|
|
126
120
|
event_name = rec[1] # e.g. at/2012_13/bl
|
127
121
|
fixture_names = rec[1..-1] # e.g. at/2012_13/bl, at/2012_13/bl2
|
128
122
|
|
129
|
-
|
123
|
+
load_event( event_name, include_path )
|
130
124
|
fixture_names.each do |fixture_name|
|
131
|
-
|
125
|
+
load_fixtures( event_key, fixture_name, include_path )
|
132
126
|
end
|
133
127
|
end
|
134
128
|
|
135
129
|
end # each ary
|
136
|
-
end # method
|
130
|
+
end # method load
|
137
131
|
|
138
132
|
|
139
|
-
def
|
133
|
+
def load_leagues( name, include_path, more_values={} )
|
140
134
|
|
141
135
|
path = "#{include_path}/#{name}.txt"
|
142
136
|
|
@@ -149,10 +143,10 @@ class Reader
|
|
149
143
|
### todo/fix: add prop
|
150
144
|
### Prop.create!( key: "db.#{fixture_name_to_prop_key(name)}.version", value: "file.txt.#{File.mtime(path).strftime('%Y.%m.%d')}" )
|
151
145
|
|
152
|
-
end #
|
146
|
+
end # load_leagues
|
153
147
|
|
154
148
|
|
155
|
-
def
|
149
|
+
def load_seasons( name, include_path )
|
156
150
|
path = "#{include_path}/#{name}.yml"
|
157
151
|
|
158
152
|
puts "*** parsing data '#{name}' (#{path})..."
|
@@ -198,11 +192,11 @@ class Reader
|
|
198
192
|
### todo/fix: add prop
|
199
193
|
### Prop.create_from_sportdb_fixture!( name, path )
|
200
194
|
|
201
|
-
end #
|
195
|
+
end # load_seasons
|
202
196
|
|
203
197
|
|
204
198
|
|
205
|
-
def
|
199
|
+
def load_event( name, include_path )
|
206
200
|
path = "#{include_path}/#{name}.yml"
|
207
201
|
|
208
202
|
logger.info "parsing data '#{name}' (#{path})..."
|
@@ -286,7 +280,7 @@ class Reader
|
|
286
280
|
|
287
281
|
### todo/fix: add prop
|
288
282
|
|
289
|
-
end #
|
283
|
+
end # load_event
|
290
284
|
|
291
285
|
|
292
286
|
def load_fixtures_from_string( event_key, text ) # load from string (e.g. passed in via web form)
|
@@ -300,7 +294,7 @@ class Reader
|
|
300
294
|
### Prop.create!( key: "db.#{fixture_name_to_prop_key(name)}.version", value: "file.txt.#{File.mtime(path).strftime('%Y.%m.%d')}" )
|
301
295
|
end
|
302
296
|
|
303
|
-
def
|
297
|
+
def load_fixtures( event_key, name, include_path ) # load from file system
|
304
298
|
|
305
299
|
path = "#{include_path}/#{name}.txt"
|
306
300
|
|
@@ -317,7 +311,7 @@ class Reader
|
|
317
311
|
end
|
318
312
|
|
319
313
|
|
320
|
-
def
|
314
|
+
def load_teams( name, include_path, more_values={} )
|
321
315
|
path = "#{include_path}/#{name}.txt"
|
322
316
|
|
323
317
|
puts "*** parsing data '#{name}' (#{path})..."
|
@@ -328,7 +322,7 @@ class Reader
|
|
328
322
|
|
329
323
|
## todo/fix: add prop
|
330
324
|
## Prop.create!( key: "db.#{fixture_name_to_prop_key(name)}.version", value: "sport.txt.#{SportDB::VERSION}" )
|
331
|
-
end #
|
325
|
+
end # load_teams
|
332
326
|
|
333
327
|
private
|
334
328
|
|
data/lib/sportdb/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sportdb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
|
-
- 0
|
9
8
|
- 1
|
10
|
-
|
9
|
+
- 0
|
10
|
+
version: 1.1.0
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Gerald Bauer
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2013-02-
|
18
|
+
date: 2013-02-21 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
name: worlddb
|
@@ -25,12 +25,12 @@ dependencies:
|
|
25
25
|
requirements:
|
26
26
|
- - ~>
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
hash:
|
28
|
+
hash: 19
|
29
29
|
segments:
|
30
30
|
- 1
|
31
|
-
- 0
|
32
31
|
- 1
|
33
|
-
|
32
|
+
- 0
|
33
|
+
version: 1.1.0
|
34
34
|
type: :runtime
|
35
35
|
version_requirements: *id001
|
36
36
|
- !ruby/object:Gem::Dependency
|