sportdb 1.8.11 → 1.8.12

Sign up to get free protection for your applications and to get access to all the features.
data/bin/sportdb CHANGED
File without changes
@@ -81,15 +81,15 @@ class GameReader
81
81
 
82
82
 
83
83
  def load_fixtures_worker( event_key, reader )
84
-
85
- ## assume active activerecord connection
86
- ##
87
-
84
+ ## NB: assume active activerecord connection
85
+
88
86
  ## reset cached values
89
87
  @patch_rounds = {}
90
- @round = nil
91
-
92
-
88
+ @round = nil ## fix: change/rename to @last_round !!!
89
+ @group = nil ## fix: change/rename to @last_group !!!
90
+ @last_date = nil
91
+
92
+
93
93
  @event = Event.find_by_key!( event_key )
94
94
 
95
95
  logger.debug "Event #{@event.key} >#{@event.title}<"
@@ -134,12 +134,12 @@ class GameReader
134
134
  title: title
135
135
  }
136
136
 
137
- @group = Group.find_by_event_id_and_pos( @event.id, pos )
138
- if @group.present?
139
- logger.debug "update group #{@group.id}:"
137
+ group = Group.find_by_event_id_and_pos( @event.id, pos )
138
+ if group.present?
139
+ logger.debug "update group #{group.id}:"
140
140
  else
141
141
  logger.debug "create group:"
142
- @group = Group.new
142
+ group = Group.new
143
143
  group_attribs = group_attribs.merge( {
144
144
  event_id: @event.id,
145
145
  pos: pos
@@ -148,14 +148,14 @@ class GameReader
148
148
 
149
149
  logger.debug group_attribs.to_json
150
150
 
151
- @group.update_attributes!( group_attribs )
151
+ group.update_attributes!( group_attribs )
152
152
 
153
- @group.teams.clear # remove old teams
153
+ group.teams.clear # remove old teams
154
154
  ## add new teams
155
155
  team_keys.each do |team_key|
156
156
  team = Team.find_by_key!( team_key )
157
157
  logger.debug " adding team #{team.title} (#{team.code})"
158
- @group.teams << team
158
+ group.teams << team
159
159
  end
160
160
  end
161
161
 
@@ -310,6 +310,17 @@ class GameReader
310
310
  date = find_date!( line, start_at: @event.start_at )
311
311
  end
312
312
 
313
+ ###
314
+ # check if date found?
315
+ # NB: ruby falsey is nil & false only (not 0 or empty array etc.)
316
+ if date
317
+ ### check: use date_v2 if present? why? why not?
318
+ @last_date = date # keep a reference for later use
319
+ else
320
+ date = @last_date # no date found; (re)use last seen date
321
+ end
322
+
323
+
313
324
  scores = find_scores!( line )
314
325
 
315
326
 
@@ -338,11 +349,11 @@ class GameReader
338
349
  # fix: check - what to do with hours e.g. start_at use 00:00 and for end_at use 23.59 ??
339
350
  # -- for now - remove hours (e.g. use end_of_day and beginnig_of_day)
340
351
 
341
- pp Round.all
352
+ ## pp Round.all
342
353
 
343
354
  round = Round.where( 'event_id = ? AND (start_at <= ? AND end_at >= ?)',
344
355
  @event.id, date.end_of_day, date.beginning_of_day).first
345
- pp round
356
+ ## pp round
346
357
  logger.debug( " using round #{round.pos} >#{round.title}< start_at: #{round.start_at}, end_at: #{round.end_at}" )
347
358
  else
348
359
  ## use round from last round header
@@ -428,9 +439,11 @@ class GameReader
428
439
 
429
440
  date = find_date!( line, start_at: @event.start_at )
430
441
 
431
- if date.present? && team1_key.nil? && team2_key.nil?
442
+ if date && team1_key.nil? && team2_key.nil?
432
443
  logger.debug( "date header line found: >#{line}<")
433
444
  logger.debug( " date: #{date}")
445
+
446
+ @last_date = date # keep a reference for later use
434
447
  return true
435
448
  else
436
449
  return false
@@ -467,7 +480,8 @@ class GameReader
467
480
 
468
481
 
469
482
  ###
470
- # fix: do NOT patch if auto flag is set to false!!!
483
+ # fix: do NOT patch if auto flag is set to false !!!
484
+ # e.g. rounds got added w/ round def (not w/ round header)
471
485
 
472
486
  @patch_rounds.each do |k,v|
473
487
  logger.debug "patch start_at/end_at date for round #{k}:"
@@ -50,8 +50,16 @@ module SportDb
50
50
  regex_de3 = /\b(\d{1,2})\.(\d{1,2})\.(\d{4})\b/
51
51
 
52
52
  # e.g. 14.09. => DD.MM. w/ implied year and implied hours (set to 12:00)
53
- regex_de4 = /\b(\d{1,2})\.(\d{1,2})\.(?:\s+|$)/ ## note: allow end-of-string/line too
54
-
53
+ # note: allow end delimiter ] e.g. [Sa 12.01.] or end-of-string ($) too
54
+ # note: we use a lookahead for last part e.g. (?:\s+|$|[\]]) - do NOT cosume
55
+ regex_de4 = /\b(\d{1,2})\.(\d{1,2})\.(?=\s+|$|[\]])/ ## note: allow end-of-string/line too
56
+
57
+ # fix: !!!!
58
+ # date in [] will become [[DATE.DE4]] - when getting removed will keep ]!!!!
59
+ # fix: change regex to \[[A-Z0-9.]\] !!!!!! plus add unit test too!!!
60
+ #
61
+ # fix: use more lookahead for all required trailing spaces!!!!!
62
+ # fix: use <name capturing group> for month,day,year etc.!!!
55
63
 
56
64
  # todo: make more generic for reuse
57
65
  month_abbrev_en = 'Jan|Feb|March|Mar|April|Apr|May|June|Jun|July|Jul|Aug|Sept|Sep|Oct|Nov|Dec'
@@ -1,6 +1,6 @@
1
1
 
2
2
  module SportDb
3
- VERSION = '1.8.11'
3
+ VERSION = '1.8.12'
4
4
  end
5
5
 
6
6
 
@@ -10,34 +10,37 @@
10
10
  6. Runde | Sa. 24.08. - So. 25.08.
11
11
 
12
12
 
13
- ## 1. Runde // Sa+So 20.+21. Jul 2013
13
+ # -- 1. Runde // Sa+So 20.+21. Jul 2013
14
14
 
15
- (Sa) 20.07. 16.30 Austria Wien 2:0 FC Admira Wacker
16
- (Sa) 20.07. 19.00 SC Wiener Neustadt 1:5 RB Salzburg
17
- (Sa) 20.07. 19.00 SV Grödig 0:0 SV Ried
18
- (Sa) 20.07. 19.00 Wolfsberger AC 2:2 Rapid Wien
15
+ (Sa) 20.07.
16
+ Austria Wien 2:0 FC Admira Wacker
17
+ SC Wiener Neustadt 1:5 RB Salzburg
18
+ SV Grödig 0:0 SV Ried
19
+ Wolfsberger AC 2:2 Rapid Wien
19
20
 
20
- (So) 21.07. 16.30 FC Wacker Innsbruck 2:2 Sturm Graz
21
+ (So) 21.07.
22
+ FC Wacker Innsbruck 2:2 Sturm Graz
21
23
 
22
24
 
23
- ## 2. Runde // Sa+So 27.+28. Jul 2013
25
+ # -- 2. Runde // Sa+So 27.+28. Jul 2013
24
26
 
25
- (Sa) 27.07. 16.30 Rapid Wien 4:0 SC Wiener Neustadt
26
- (Sa) 27.07. 19.00 FC Admira Wacker 1:2 FC Wacker Innsbruck
27
- (Sa) 27.07. 19.00 SV Ried 1:0 Wolfsberger AC
28
- (Sa) 27.07. 19.00 RB Salzburg 5:1 Austria Wien
27
+ (Sa) 27.07. Rapid Wien 4:0 SC Wiener Neustadt
28
+ FC Admira Wacker 1:2 FC Wacker Innsbruck
29
+ SV Ried 1:0 Wolfsberger AC
30
+ RB Salzburg 5:1 Austria Wien
29
31
 
30
- (So) 28.07. 16.30 Sturm Graz 0:2 SV Grödig
32
+ (So) 28.07. Sturm Graz 0:2 SV Grödig
31
33
 
32
34
 
33
- ## 3. Runde // Sa.+So. 3.+4. Aug 2013
35
+ # -- 3. Runde // Sa.+So. 3.+4. Aug 2013
34
36
 
35
- (Sa) 03.08. 16.30 SC Wiener Neustadt 2:1 Wolfsberger AC
36
- (Sa) 03.08. 19.00 SV Grödig 7:1 FC Admira Wacker
37
- (Sa) 03.08. 19.00 FC Wacker Innsbruck 1:1 RB Salzburg
38
- (Sa) 03.08. 19.00 Austria Wien 3:3 SV Ried
39
-
40
- (So) 04.08. 16.30 Sturm Graz 2:4 Rapid Wien
37
+ [Sa 03.08.]
38
+ SC Wiener Neustadt 2:1 Wolfsberger AC
39
+ SV Grödig 7:1 FC Admira Wacker
40
+ FC Wacker Innsbruck 1:1 RB Salzburg
41
+ Austria Wien 3:3 SV Ried
42
+ [So 04.08.]
43
+ Sturm Graz 2:4 Rapid Wien
41
44
 
42
45
 
43
46
  ## 4. Runde // Sa.+So. 10.+11. Aug 2013
@@ -2,24 +2,28 @@
2
2
  # Österreichische Bundesliga 2013/14 - Frühjahr
3
3
 
4
4
 
5
- 22. Runde // Sa.+So.
5
+ 22. Runde
6
6
 
7
- (Sa) 08.02. SV Ried 2:1 SC Wiener Neustadt
8
- (Sa) 08.02. Wolfsberger AC 3:2 FC Wacker Innsbruck
9
- (Sa) 08.02. RB Salzburg 6:0 SV Grödig
10
- (Sa) 08.02. FC Admira Wacker 1:1 Sturm Graz
7
+ [Sa 08.02.]
8
+ SV Ried 2:1 SC Wiener Neustadt
9
+ Wolfsberger AC 3:2 FC Wacker Innsbruck
10
+ RB Salzburg 6:0 SV Grödig
11
+ FC Admira Wacker 1:1 Sturm Graz
11
12
 
12
- (So) 09.02. Rapid Wien 3:1 Austria Wien
13
+ [So 09.02.]
14
+ Rapid Wien 3:1 Austria Wien
13
15
 
14
16
 
15
- 23. Runde // Sa.+So.
17
+ 23. Runde
16
18
 
17
- (Sa) 15.02. SV Grödig 3:0 Wolfsberger AC
18
- (Sa) 15.02. FC Wacker Innsbruck 1:1 SV Ried
19
- (Sa) 15.02. Sturm Graz 1:4 RB Salzburg
20
- (Sa) 15.02. Austria Wien 1:1 SC Wiener Neustadt
19
+ Sa 15.02.
20
+ SV Grödig 3:0 Wolfsberger AC
21
+ FC Wacker Innsbruck 1:1 SV Ried
22
+ Sturm Graz 1:4 RB Salzburg
23
+ Austria Wien 1:1 SC Wiener Neustadt
21
24
 
22
- (So) 16.02. FC Admira Wacker 2:1 Rapid Wien
25
+ So 16.02.
26
+ FC Admira Wacker 2:1 Rapid Wien
23
27
 
24
28
 
25
29
  24. Runde // Sa.+So.
metadata CHANGED
@@ -1,164 +1,133 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sportdb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.11
4
+ version: 1.8.12
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Gerald Bauer
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2014-04-08 00:00:00.000000000 Z
12
+ date: 2014-04-09 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: props
15
- requirement: !ruby/object:Gem::Requirement
16
+ requirement: &71514400 !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
19
  - - ! '>='
18
20
  - !ruby/object:Gem::Version
19
21
  version: '0'
20
22
  type: :runtime
21
23
  prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - ! '>='
25
- - !ruby/object:Gem::Version
26
- version: '0'
24
+ version_requirements: *71514400
27
25
  - !ruby/object:Gem::Dependency
28
26
  name: logutils
29
- requirement: !ruby/object:Gem::Requirement
27
+ requirement: &71514010 !ruby/object:Gem::Requirement
28
+ none: false
30
29
  requirements:
31
30
  - - ! '>='
32
31
  - !ruby/object:Gem::Version
33
32
  version: '0'
34
33
  type: :runtime
35
34
  prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ! '>='
39
- - !ruby/object:Gem::Version
40
- version: '0'
35
+ version_requirements: *71514010
41
36
  - !ruby/object:Gem::Dependency
42
37
  name: textutils
43
- requirement: !ruby/object:Gem::Requirement
38
+ requirement: &71513170 !ruby/object:Gem::Requirement
39
+ none: false
44
40
  requirements:
45
41
  - - ! '>='
46
42
  - !ruby/object:Gem::Version
47
43
  version: '0'
48
44
  type: :runtime
49
45
  prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - ! '>='
53
- - !ruby/object:Gem::Version
54
- version: '0'
46
+ version_requirements: *71513170
55
47
  - !ruby/object:Gem::Dependency
56
48
  name: worlddb
57
- requirement: !ruby/object:Gem::Requirement
49
+ requirement: &71512840 !ruby/object:Gem::Requirement
50
+ none: false
58
51
  requirements:
59
52
  - - ! '>='
60
53
  - !ruby/object:Gem::Version
61
54
  version: 2.0.2
62
55
  type: :runtime
63
56
  prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ! '>='
67
- - !ruby/object:Gem::Version
68
- version: 2.0.2
57
+ version_requirements: *71512840
69
58
  - !ruby/object:Gem::Dependency
70
59
  name: tagutils
71
- requirement: !ruby/object:Gem::Requirement
60
+ requirement: &71512460 !ruby/object:Gem::Requirement
61
+ none: false
72
62
  requirements:
73
63
  - - ! '>='
74
64
  - !ruby/object:Gem::Version
75
65
  version: '0'
76
66
  type: :runtime
77
67
  prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - ! '>='
81
- - !ruby/object:Gem::Version
82
- version: '0'
68
+ version_requirements: *71512460
83
69
  - !ruby/object:Gem::Dependency
84
70
  name: fetcher
85
- requirement: !ruby/object:Gem::Requirement
71
+ requirement: &71512140 !ruby/object:Gem::Requirement
72
+ none: false
86
73
  requirements:
87
74
  - - ! '>='
88
75
  - !ruby/object:Gem::Version
89
76
  version: '0.3'
90
77
  type: :runtime
91
78
  prerelease: false
92
- version_requirements: !ruby/object:Gem::Requirement
93
- requirements:
94
- - - ! '>='
95
- - !ruby/object:Gem::Version
96
- version: '0.3'
79
+ version_requirements: *71512140
97
80
  - !ruby/object:Gem::Dependency
98
81
  name: gli
99
- requirement: !ruby/object:Gem::Requirement
82
+ requirement: &71511840 !ruby/object:Gem::Requirement
83
+ none: false
100
84
  requirements:
101
85
  - - ! '>='
102
86
  - !ruby/object:Gem::Version
103
87
  version: 2.5.6
104
88
  type: :runtime
105
89
  prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ! '>='
109
- - !ruby/object:Gem::Version
110
- version: 2.5.6
90
+ version_requirements: *71511840
111
91
  - !ruby/object:Gem::Dependency
112
92
  name: activerecord
113
- requirement: !ruby/object:Gem::Requirement
93
+ requirement: &71511520 !ruby/object:Gem::Requirement
94
+ none: false
114
95
  requirements:
115
96
  - - ! '>='
116
97
  - !ruby/object:Gem::Version
117
98
  version: '0'
118
99
  type: :runtime
119
100
  prerelease: false
120
- version_requirements: !ruby/object:Gem::Requirement
121
- requirements:
122
- - - ! '>='
123
- - !ruby/object:Gem::Version
124
- version: '0'
101
+ version_requirements: *71511520
125
102
  - !ruby/object:Gem::Dependency
126
103
  name: rdoc
127
- requirement: !ruby/object:Gem::Requirement
104
+ requirement: &71511170 !ruby/object:Gem::Requirement
105
+ none: false
128
106
  requirements:
129
107
  - - ~>
130
108
  - !ruby/object:Gem::Version
131
- version: '4.0'
109
+ version: '3.10'
132
110
  type: :development
133
111
  prerelease: false
134
- version_requirements: !ruby/object:Gem::Requirement
135
- requirements:
136
- - - ~>
137
- - !ruby/object:Gem::Version
138
- version: '4.0'
112
+ version_requirements: *71511170
139
113
  - !ruby/object:Gem::Dependency
140
114
  name: hoe
141
- requirement: !ruby/object:Gem::Requirement
115
+ requirement: &71510800 !ruby/object:Gem::Requirement
116
+ none: false
142
117
  requirements:
143
118
  - - ~>
144
119
  - !ruby/object:Gem::Version
145
- version: '3.10'
120
+ version: '3.3'
146
121
  type: :development
147
122
  prerelease: false
148
- version_requirements: !ruby/object:Gem::Requirement
149
- requirements:
150
- - - ~>
151
- - !ruby/object:Gem::Version
152
- version: '3.10'
123
+ version_requirements: *71510800
153
124
  description: sportdb - sport.db command line tool
154
125
  email: opensport@googlegroups.com
155
126
  executables:
156
127
  - sportdb
157
128
  extensions: []
158
129
  extra_rdoc_files:
159
- - HISTORY.md
160
130
  - Manifest.txt
161
- - README.md
162
131
  files:
163
132
  - HISTORY.md
164
133
  - Manifest.txt
@@ -287,7 +256,6 @@ files:
287
256
  homepage: https://github.com/geraldb/sport.db.ruby
288
257
  licenses:
289
258
  - Public Domain
290
- metadata: {}
291
259
  post_install_message: ! '******************************************************************************
292
260
 
293
261
 
@@ -305,29 +273,31 @@ rdoc_options:
305
273
  require_paths:
306
274
  - lib
307
275
  required_ruby_version: !ruby/object:Gem::Requirement
276
+ none: false
308
277
  requirements:
309
278
  - - ! '>='
310
279
  - !ruby/object:Gem::Version
311
280
  version: 1.9.2
312
281
  required_rubygems_version: !ruby/object:Gem::Requirement
282
+ none: false
313
283
  requirements:
314
284
  - - ! '>='
315
285
  - !ruby/object:Gem::Version
316
286
  version: '0'
317
287
  requirements: []
318
- rubyforge_project:
319
- rubygems_version: 2.1.10
288
+ rubyforge_project: sportdb
289
+ rubygems_version: 1.8.17
320
290
  signing_key:
321
- specification_version: 4
291
+ specification_version: 3
322
292
  summary: sportdb - sport.db command line tool
323
293
  test_files:
324
- - test/test_changes.rb
325
- - test/test_cursor.rb
326
294
  - test/test_date.rb
327
295
  - test/test_lang.rb
328
- - test/test_reader.rb
329
- - test/test_round_def.rb
330
- - test/test_round_header.rb
296
+ - test/test_cursor.rb
331
297
  - test/test_scores.rb
332
- - test/test_utils.rb
333
298
  - test/test_winner.rb
299
+ - test/test_round_def.rb
300
+ - test/test_utils.rb
301
+ - test/test_round_header.rb
302
+ - test/test_reader.rb
303
+ - test/test_changes.rb
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: 40a271851bbcc415daa4d38228107ff187b11ada
4
- data.tar.gz: e8566c5664d8c3041f090450d811399633960789
5
- SHA512:
6
- metadata.gz: ea16708dac574bd45d742d4f5621b4226b0e24511a1b88c07758acfa056ce1b6eb8bdb8fbd24dedcde57bb58e702196c5658d17c38ea0651f6c4390e05e5ed6a
7
- data.tar.gz: 267916684d3cc873c8edec9796b47fda7612f40aecde32b5b12153a86394d3b27df6ed33745bae9894770ad9606ba6fb3425cb4757f5f5fcef3036a0063680e7