sportdb-readers 0.4.5 → 0.4.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 24736517779207221fc8338fba89b44957ead51a
4
- data.tar.gz: 042423fce1e8e5ce347ec3695fdb72d693ca131d
3
+ metadata.gz: b2ef30f6dc1204b1df60614e54b168559f825eea
4
+ data.tar.gz: 3018c5e2286a33d4e61e52dec18c19d7fe270963
5
5
  SHA512:
6
- metadata.gz: 5e7a65e6a2cdba8a1a1d96c51b22b1ee1b59d096a7a93f6f194f036e06a8ca097ffab0c3a3d2a6ac879425a0d3c0ddb663fe94f4494e74b9fa420aee93543e79
7
- data.tar.gz: 8209d0c8aca8c2fd0779d29dcf1a1f03e9999bf0d35a731e707c16ba324e5907d58975e60deef21299c5e8a4cd2ce0c3e663bc0234f31589612978384e66694b
6
+ metadata.gz: 933b31be66b7b556d9f8704b413243d30106d199dd0338ecc8aa7beb86e2058b8498741d5ddb0266ab658597fbf11ff01c6a48a80dd77d06909af605c6c8810d
7
+ data.tar.gz: 98519ae33ae7f29b24e7dcf99ad8dd5cc5ade378faac6ea1834bacc99491910634488f18f03f30a5f06b2a783ce679d418cc1974dee7ae3ed8d73c44336a1def
data/Rakefile CHANGED
@@ -20,9 +20,9 @@ Hoe.spec 'sportdb-readers' do
20
20
  self.licenses = ['Public Domain']
21
21
 
22
22
  self.extra_deps = [
23
- ['sportdb-config', '>= 0.8.1'],
24
- ['sportdb-models', '>= 1.18.0'],
25
- ['sportdb-sync', '>= 0.0.1'],
23
+ ['sportdb-config', '>= 0.9.0'],
24
+ ['sportdb-models', '>= 1.18.4'],
25
+ ['sportdb-sync', '>= 0.1.0'],
26
26
  ]
27
27
 
28
28
  self.spec_extras = {
@@ -81,11 +81,11 @@ class AutoConfParser
81
81
  \]/x, '' ).strip
82
82
 
83
83
  else
84
- ## check for leading hours only e.g. 20.30 or 20:30 or 20h30
84
+ ## check for leading hours only e.g. 20.30 or 20:30 or 20h30 or 20H30 or 09h00
85
85
  ## todo/fix: make language dependent (or move to find_date/hour etc.) - why? why not?
86
- line = line.sub( %r{^
87
- [12]?[0-9]
88
- [h.:]
86
+ line = line.sub( %r{^ ## MUST be anchored to beginning of line
87
+ [012]?[0-9]
88
+ [.:hH]
89
89
  [0-9][0-9]
90
90
  (?=[ ]) ## must be followed by space for now (add end of line too - why? why not?)
91
91
  }x, '' ).strip
@@ -113,7 +113,10 @@ class AutoConfParser
113
113
 
114
114
  ## check for more match separators e.g. - or vs for now
115
115
  line = line.sub( / \s+
116
- (-|vs|v)
116
+ ( -
117
+ | v
118
+ | vs\.? # note: allow optional dot eg. vs.
119
+ )
117
120
  \s+
118
121
  /ix, '$$' )
119
122
 
@@ -6,7 +6,7 @@ module Readers
6
6
 
7
7
  MAJOR = 0 ## todo: namespace inside version or something - why? why not??
8
8
  MINOR = 4
9
- PATCH = 5
9
+ PATCH = 6
10
10
  VERSION = [MAJOR,MINOR,PATCH].join('.')
11
11
 
12
12
  def self.version
@@ -8,32 +8,153 @@
8
8
  require 'helper'
9
9
 
10
10
 
11
-
12
11
  class TestAutoConfParser < MiniTest::Test
13
12
 
13
+ def test_mx
14
+ txt= <<TXT
15
+ Jornada 1 // 3, 4 y 5 de enero
16
+
17
+ Vie 3 Ene Monarcas Morelia vs. Querétaro @ Estadio Morelos
18
+ Vie 3 Ene Santos Laguna vs. Guadalajara @ Estadio Corona TSM
19
+ Sáb 4 Ene América vs. Tigres UANL @ Estadio Azteca
20
+ Sáb 4 Ene Monterrey vs. Cruz Azul @ Estadio Tecnológico
21
+ Sáb 4 Ene Pachuca vs. Toluca @ Estadio Hidalgo
22
+ Sáb 4 Ene Jaguares de Chiapas vs. Veracruz @ Estadio Víctor M. Reyna
23
+ Sáb 4 Ene Atlas vs. Tijuana @ Estadio Jalisco
24
+ Dom 5 Ene Universidad Nacional vs. Puebla @ Estadio Olímpico Universitario
25
+ Dom 5 Ene Atlante vs. León @ Estadio Andrés Quintana Roo
26
+
27
+ Jornada 2 // 10, 11 y 12 de enero
28
+
29
+ Vie 10 Ene Querétaro vs. Universidad Nacional @ Estadio La Corregidora
30
+ Vie 10 Ene Tijuana vs. América @ Estadio Caliente
31
+ Sáb 11 Ene Veracruz vs. Atlante @ Estadio Luis Pirata Fuente
32
+ Sáb 11 Ene Cruz Azul vs. Santos Laguna @ Estadio Azul
33
+ Sáb 11 Ene Tigres UANL vs. Pachuca @ Estadio Universitario
34
+ Sáb 11 Ene León vs. Atlas @ Estadio Nou Camp
35
+ Dom 12 Ene Puebla vs. Monterrey @ Estadio Cuauhtémoc
36
+ Dom 12 Ene Toluca vs. Monarcas Morelia @ Estadio Nemesio Díez
37
+ Dom 12 Ene Guadalajara vs. Jaguares de Chiapas @ Estadio Omnilife
38
+ TXT
39
+ clubs, rounds = parse( txt, lang: 'es' )
40
+
41
+ assert_equal Hash(
42
+ 'Monarcas Morelia'=>2,
43
+ 'Querétaro'=>2,
44
+ 'Santos Laguna'=>2,
45
+ 'Guadalajara'=>2,
46
+ 'América'=>2,
47
+ 'Tigres UANL'=>2,
48
+ 'Monterrey'=>2,
49
+ 'Cruz Azul'=>2,
50
+ 'Pachuca'=>2,
51
+ 'Toluca'=>2,
52
+ 'Jaguares de Chiapas'=>2,
53
+ 'Veracruz'=>2,
54
+ 'Atlas'=>2,
55
+ 'Tijuana'=>2,
56
+ 'Universidad Nacional'=>2,
57
+ 'Puebla'=>2,
58
+ 'Atlante'=>2,
59
+ 'León'=>2 ), clubs
60
+
61
+ assert_equal Hash(
62
+ 'Jornada 1 // 3, 4 y 5 de enero' => { count: 1, match_count: 9},
63
+ 'Jornada 2 // 10, 11 y 12 de enero' => { count: 1, match_count: 9} ), rounds
64
+ end
65
+
66
+ def test_br
67
+ txt= <<TXT
68
+ 1ª Rodada
69
+ 29/03/2003 - Sábado
70
+ 16h00 Guarani 4x2 Vasco @ Brinco de Ouro
71
+ Atlético-PR 2x0 Grêmio @ Arena da Baixada
72
+
73
+ 30/03/2003 - Domingo
74
+ 09h00 Flamengo 1x1 Coritiba @ Maracanã
75
+ 16h00 Goiás 2x2 Paysandu @ Serra Dourada
76
+ Internacional 1x1 Ponte Preta @ Beira Rio
77
+ Criciúma 2x0 Fluminense @ Heriberto Hulse
78
+ Juventude 2x2 São Paulo @ Alfredo Jaconi
79
+ Fortaleza 0x0 Bahia @ Castelão
80
+ Cruzeiro 2x2 São Caetano @ Mineirão
81
+ Vitória 1x1 Figueirense @ Barradão
82
+ 18h00 Santos 2x2 Paraná @ Vila Belmiro
83
+ Corinthians 0x3 Atlético-MG @ Pacaembu
84
+
85
+ 2ª Rodada
86
+ 05/04/2003 - Sábado
87
+ 16h00 Fluminense 1x1 Fortaleza @ Maracanã
88
+ Atlético-MG 0x0 Santos @ Mineirão
89
+ Coritiba 0x1 Internacional @ Couto Pereira
90
+ 18h00 Grêmio 3x1 Guarani @ Olímpico
91
+
92
+ 06/04/2003 - Domingo
93
+ 16h00 Bahia 1x2 Flamengo @ Fonte Nova
94
+ Figueirense 3x3 Corinthians @ Orlando Scarpelli
95
+ Paysandu 1x2 Vitória @ Mangueirão
96
+ Ponte Preta 1x0 Juventude @ Moisés Lucarelli
97
+ Paraná 3x0 Atlético-PR @ Pinheirão
98
+ São Caetano 3x2 Criciúma @ Anacleto Campanella
99
+ 18h00 São Paulo 2x4 Cruzeiro @ Morumbi
100
+ Vasco 6x4 Goiás @ São Januário
101
+ TXT
102
+ clubs, rounds = parse( txt, lang: 'pt' )
103
+
104
+ assert_equal Hash(
105
+ 'Guarani'=>2,
106
+ 'Vasco'=>2,
107
+ 'Atlético-PR'=>2,
108
+ 'Grêmio'=>2,
109
+ 'Flamengo'=>2,
110
+ 'Coritiba'=>2,
111
+ 'Goiás'=>2,
112
+ 'Paysandu'=>2,
113
+ 'Internacional'=>2,
114
+ 'Ponte Preta'=>2,
115
+ 'Criciúma'=>2,
116
+ 'Fluminense'=>2,
117
+ 'Juventude'=>2,
118
+ 'São Paulo'=>2,
119
+ 'Fortaleza'=>2,
120
+ 'Bahia'=>2,
121
+ 'Cruzeiro'=>2,
122
+ 'São Caetano'=>2,
123
+ 'Vitória'=>2,
124
+ 'Figueirense'=>2,
125
+ 'Santos'=>2,
126
+ 'Paraná'=>2,
127
+ 'Corinthians'=>2,
128
+ 'Atlético-MG'=>2 ), clubs
129
+
130
+ assert_equal Hash(
131
+ '1ª Rodada' => {count: 1, match_count: 12},
132
+ '2ª Rodada' => {count: 1, match_count: 12} ), rounds
133
+ end
134
+
135
+
14
136
  def test_at
15
137
  txt = <<TXT
16
138
  29. Runde
17
139
 
18
- [Sa 7.4.]
140
+ Sa 7.4.
19
141
  16.00 RB Salzburg 2:0 Wacker Innsbruck
20
142
  18.30 SV Ried 0:1 Austria Wien
21
143
  Kapfenberger SV 2:3 Admira Wacker
22
144
  Rapid Wien 2:1 Wr. Neustadt
23
- [So 8.4.]
145
+ So 8.4.
24
146
  16.00 SV Mattersburg 0:2 Sturm Graz
25
147
 
26
148
 
27
149
  30. Runde
28
150
 
29
- [Sa 14.4.]
151
+ Sa 14.4.
30
152
  16.00 Wr. Neustadt 0:0 Kapfenberger SV
31
153
  18.30 Admira Wacker 1:1 Wacker Innsbruck
32
154
  Sturm Graz 2:2 RB Salzburg
33
155
  SV Ried 2:0 SV Mattersburg
34
- [So 15.4.]
156
+ So 15.4.
35
157
  16.00 Austria Wien 0:0 Rapid Wien
36
-
37
158
  TXT
38
159
 
39
160
  clubs, rounds = parse( txt, lang: 'de' )
@@ -119,9 +240,9 @@ TXT
119
240
  txt = <<TXT
120
241
  Journée 1
121
242
 
122
- [Ven 8. Août]
243
+ Ven 8. Août
123
244
  20h30 Stade de Reims 2-2 Paris SG
124
- [Sam 9. Août]
245
+ Sam 9. Août
125
246
  21h00 SC Bastia 3-3 Olympique de Marseille
126
247
  Évian TG 0-3 SM Caen
127
248
  EA Guingamp 0-2 AS Saint-Étienne
@@ -129,22 +250,22 @@ Journée 1
129
250
  Montpellier Hérault SC 0-1 Girondins de Bordeaux
130
251
  FC Nantes 1-0 RC Lens
131
252
  OGC Nice 3-2 Toulouse FC
132
- [Dim 10. Août]
253
+ Dim 10. Août
133
254
  17h00 Olympique Lyonnais 2-0 Stade Rennais FC
134
255
  21h00 AS Monaco FC 1-2 FC Lorient
135
256
 
136
257
  Journée 2
137
258
 
138
- [Ven 15. Août]
259
+ Ven 15. Août
139
260
  20h30 SM Caen 0-1 LOSC Lille
140
- [Sam 16. Août]
261
+ Sam 16. Août
141
262
  17h00 Paris SG 2-0 SC Bastia
142
263
  20h00 RC Lens 0-1 EA Guingamp
143
264
  FC Lorient 0-0 OGC Nice
144
265
  FC Metz 1-1 FC Nantes
145
266
  Stade Rennais FC 6-2 Évian TG
146
267
  Toulouse FC 2-1 Olympique Lyonnais
147
- [Dim 17. Août]
268
+ Dim 17. Août
148
269
  17h00 Olympique de Marseille 0-2 Montpellier Hérault SC
149
270
  AS Saint-Étienne 3-1 Stade de Reims
150
271
  21h00 Girondins de Bordeaux 4-1 AS Monaco FC
@@ -184,9 +305,9 @@ TXT
184
305
  txt = <<TXT
185
306
  Matchday 1
186
307
 
187
- [Fri Aug/11]
308
+ Fri, Aug 11
188
309
  Arsenal FC 4-3 Leicester City
189
- [Sat Aug/12]
310
+ Sat, Aug 12
190
311
  Watford FC 3-3 Liverpool FC
191
312
  Chelsea FC 2-3 Burnley FC
192
313
  Crystal Palace 0-3 Huddersfield Town
@@ -194,14 +315,14 @@ Matchday 1
194
315
  Southampton FC 0-0 Swansea City
195
316
  West Bromwich Albion 1-0 AFC Bournemouth
196
317
  Brighton & Hove Albion 0-2 Manchester City
197
- [Sun Aug/13]
318
+ Sun, Aug 13
198
319
  Newcastle United 0-2 Tottenham Hotspur
199
320
  Manchester United 4-0 West Ham United
200
321
 
201
322
 
202
323
  Matchday 2
203
324
 
204
- [Sat Aug/19]
325
+ Sat, Aug 19
205
326
  Swansea City 0-4 Manchester United
206
327
  AFC Bournemouth 0-2 Watford FC
207
328
  Burnley FC 0-1 West Bromwich Albion
@@ -209,10 +330,10 @@ Matchday 2
209
330
  Liverpool FC 1-0 Crystal Palace
210
331
  Southampton FC 3-2 West Ham United
211
332
  Stoke City 1-0 Arsenal FC
212
- [Sun Aug/20]
333
+ Sun, Aug 20
213
334
  Huddersfield Town 1-0 Newcastle United
214
335
  Tottenham Hotspur 1-2 Chelsea FC
215
- [Mon Aug/21]
336
+ Mon, Aug 21
216
337
  Manchester City 1-1 Everton FC
217
338
  TXT
218
339
 
@@ -305,25 +426,25 @@ TXT
305
426
  def test_mauritius
306
427
  txt = <<TXT
307
428
  Preliminary Round
308
- [Mon Jun/22]
429
+ Mon Jun 22
309
430
  Pointe-aux-Sables Mates 3-4 AS Port-Louis 2000 @ St. François Xavier Stadium, Port Louis
310
431
 
311
432
  Quarterfinals
312
- [Wed Jun/24]
433
+ Wed Jun 24
313
434
  Rivière du Rempart 3-1 pen (1-1) La Cure Sylvester @ Auguste Vollaire Stadium, Central Flacq
314
435
  Chamarel SC 3-4 Petite Rivière Noire @ Germain Comarmond Stadium, Bambous
315
- [Thu Jun/25]
436
+ Thu Jun 25
316
437
  Pamplemousses 2-0 AS Port-Louis 2000 @ Auguste Vollaire Stadium, Central Flacq
317
- [Sat Jun/27]
438
+ Sat Jun 27
318
439
  Savanne SC 3-6 Entente Boulet Rouge @ Anjalay Stadium, Mapou
319
440
 
320
441
  Semifinals
321
- [Wed Jul/15]
442
+ Wed Jul 15
322
443
  Rivière du Rempart 2-3 Petite Rivière Noire @ New George V Stadium, Curepipe
323
444
  Entente Boulet Rouge 0-2 Pamplemousses @ Germain Comarmond Stadium, Bambous
324
445
 
325
446
  Final
326
- [Sun Jul/19]
447
+ Sun Jul 19
327
448
  Petite Rivière Noire 2-0 Pamplemousses @ New George V Stadium, Curepipe
328
449
  TXT
329
450
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sportdb-readers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.5
4
+ version: 0.4.6
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-12-15 00:00:00.000000000 Z
11
+ date: 2019-12-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sportdb-config
@@ -16,42 +16,42 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 0.8.1
19
+ version: 0.9.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: 0.8.1
26
+ version: 0.9.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: sportdb-models
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: 1.18.0
33
+ version: 1.18.4
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: 1.18.0
40
+ version: 1.18.4
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: sportdb-sync
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: 0.0.1
47
+ version: 0.1.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: 0.0.1
54
+ version: 0.1.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rdoc
57
57
  requirement: !ruby/object:Gem::Requirement