worldfootball 0.1.2 → 0.2.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 99623775fef73f0837946ba44625a572bbe5fee3a64aa6aa9a2f6f79702a0d01
4
- data.tar.gz: 1ed058214bcca9fad1aac5b205e73c101a79a14ef979dbdee37c3a784fe03460
3
+ metadata.gz: 78c749dd421814981a58c87104761091471a4ffe26a8261df132d77bca5ffb8f
4
+ data.tar.gz: 23a146156f4e38f0e92ef9689ed6a965b044e6ae2e489cffb5da56883c7e6e7a
5
5
  SHA512:
6
- metadata.gz: 2b2ec98872c3cf9ae5b9f39cd6ac5bcd205ea35a4ea1282a575f8ea9256226f4395c4021b57417e6d77db38b474127b35cd2836aee3d381a8138b318cb588be0
7
- data.tar.gz: dff2a077af11f10c6c0f1e923e42710b04b198a5c7a7677363a25bfa7e508ec56867d64c2df8f907a51584613b0d86a8f246f6727755fa1dfa1e6c1135962877
6
+ metadata.gz: 64e28d3ffdb1056f9db34459ca7d23ba2116a9aeb8130d3b81a310590fc0ad5079eff635664d153a2798b5e9765a10e7508311d0c899b82c1c59f98bedecc60c
7
+ data.tar.gz: 52ef6922b2b1e735a67b9aae8ecd409c3314aa3d2a48b056d2be2d272b85c4e48735e983dda88630c461a25354a5f6f9cb64eb0cb4d6f642cf873263da3af954
data/CHANGELOG.md CHANGED
@@ -1,4 +1,4 @@
1
- ### 0.1.2
1
+ ### 0.2.0
2
2
 
3
3
  ### 0.0.1 / 2024-07-04
4
4
 
data/Manifest.txt CHANGED
@@ -3,7 +3,8 @@ Manifest.txt
3
3
  README.md
4
4
  Rakefile
5
5
  bin/wfb
6
- config/leagues.csv
6
+ config/leagues_asia.csv
7
+ config/leagues_europe.csv
7
8
  lib/worldfootball.rb
8
9
  lib/worldfootball/build-parse_score.rb
9
10
  lib/worldfootball/build.rb
data/Rakefile CHANGED
@@ -18,11 +18,9 @@ Hoe.spec 'worldfootball' do
18
18
  self.history_file = 'CHANGELOG.md'
19
19
 
20
20
  self.extra_deps = [
21
- ## ['tzinfo'],
22
- ['season-formats'],
21
+ ['football-timezones'],
23
22
  ['webget'],
24
23
  ['nokogiri'],
25
- ['cocos'], ## later pull in with sportsdb-writers
26
24
  ]
27
25
 
28
26
  self.licenses = ['Public Domain']
data/bin/wfb CHANGED
@@ -15,7 +15,7 @@ Webcache.root = if File.exist?( '/sports/cache' )
15
15
 
16
16
  ## convert (default) output directory
17
17
  Worldfootball.config.convert.out_dir = if File.exist?( '/sports/cache.wfb')
18
- puts " setting convert out_dir to >/sports/cache.wfb<"
18
+ puts " setting convert out_dir to >/sports/cache.wfb<"
19
19
  '/sports/cache.wfb'
20
20
  else
21
21
  '.' ## use working dir
@@ -102,12 +102,16 @@ if opts[:dry]
102
102
  end
103
103
 
104
104
 
105
- season = Season( args[1] || '2024/25' )
105
+ ## note - default to latest season of league
106
+ ## might be 2024/25 or 2024 or
107
+ # for world cup 2022 or such
108
+ season = Season( args[1] || league.seasons.keys[0] )
106
109
 
107
110
  pages = league.pages!( season: season )
108
111
 
109
112
 
110
113
  puts
114
+ pp [league.key, season.key]
111
115
  pp pages
112
116
  puts " #{pages.size} page(s)"
113
117
 
@@ -0,0 +1,6 @@
1
+ key, slug
2
+
3
+ cn.1, chn-super-league-2024
4
+ jp.1, jpn-j1-league-2024
5
+ kr.1, kor-k-league-1-2024
6
+
@@ -0,0 +1,75 @@
1
+ key, slug
2
+
3
+ de.1, bundesliga-2024-2025
4
+ de.2, 2-bundesliga-2024-2025
5
+ de.3, 3-liga-2024-2025
6
+ de.4.bayern, regionalliga-bayern-2024-2025
7
+ de.cup, dfb-pokal-2024-2025
8
+
9
+ at.1, aut-bundesliga-2024-2025
10
+ at.2, aut-2-liga-2024-2025
11
+ at.3.o, aut-regionalliga-ost-2024-2025
12
+ at.cup, aut-oefb-cup-2024-2025
13
+
14
+
15
+ ch.1, sui-super-league-2024-2025
16
+ ch.2, sui-challenge-league-2024-2025
17
+ ch.cup, sui-cup-2024-2025
18
+
19
+
20
+ hu.1, hun-nb-i-2024-2025
21
+
22
+ cz.1, cze-1-fotbalova-liga-2024-2025
23
+ sk.1, svk-super-liga-2024-2025
24
+
25
+ pl.1, pol-ekstraklasa-2024-2025
26
+
27
+
28
+
29
+ eng.1, eng-premier-league-2024-2025
30
+ eng.2, eng-championship-2024-2025
31
+ eng.3, eng-league-one-2024-2025
32
+ eng.4, eng-league-two-2024-2025
33
+ eng.5, eng-national-league-2024-2025
34
+ eng.cup, eng-fa-cup-2023-2024 ### update to 2024-2025 later!!!
35
+ eng.cup.l, eng-league-cup-2024-2025
36
+
37
+
38
+ sco.1, sco-premiership-2024-2025
39
+
40
+ ie.1, irl-premier-division-2024
41
+
42
+
43
+ fr.1, fra-ligue-1-2024-2025
44
+ fr.2, fra-ligue-2-2024-2025
45
+ fr.cup, fra-coupe-de-france-2023-2024 ### update to 2024-2025 later!!!
46
+
47
+
48
+ lu.1, lux-nationaldivision-2024-2025
49
+ nl.1, ned-eredivisie-2024-2025
50
+ nl.2, ned-eerste-divisie-2024-2025
51
+ nl.cup, ned-knvb-beker-2024-2025
52
+
53
+ be.1, bel-eerste-klasse-a-2024-2025
54
+ be.2, bel-eerste-klasse-b-2024-2025
55
+ be.cup, bel-beker-van-belgie-2024-2025
56
+
57
+
58
+ it.1, ita-serie-a-2024-2025
59
+ it.2, ita-serie-b-2024-2025
60
+ it.cup, ita-coppa-italia-2024-2025
61
+
62
+ pt.1, por-primeira-liga-2024-2025
63
+ pt.2, por-segunda-liga-2024-2025
64
+
65
+ es.1, esp-primera-division-2024-2025
66
+ es.2, esp-segunda-division-2024-2025
67
+ es.cup, esp-copa-del-rey-2023-2024 ## update to 2024-2025 later!!!
68
+
69
+
70
+ tr.1, tur-sueperlig-2024-2025
71
+ tr.2, tur-1-lig-2024-2025
72
+
73
+ gr.1, gre-super-league-2024-2025
74
+
75
+ hr.1, cro-1-hnl-2024-2025
@@ -10,6 +10,8 @@ ROUND_TO_EN = {
10
10
  '5. Runde' => 'Round 5',
11
11
  '6. Runde' => 'Round 6',
12
12
  '7. Runde' => 'Round 7',
13
+ '8. Runde' => 'Round 8',
14
+ '9. Runde' => 'Round 9',
13
15
  'Achtelfinale' => 'Round of 16',
14
16
  'Viertelfinale' => 'Quarterfinals',
15
17
  'Halbfinale' => 'Semifinals',
@@ -24,13 +26,16 @@ def self.build( rows, season:, league:, stage: '' ) ## rename to fixup or such
24
26
  season = Season( season ) ## cast (ensure) season class (NOT string, integer, etc.)
25
27
 
26
28
  ## note: do NOT pass in league struct! pass in key (string)
27
- raise ArgumentError, "league key as string expected" unless league.is_a?(String)
29
+ raise ArgumentError, "league key as string expected" unless league.is_a?(String)
28
30
 
29
31
  print " #{rows.size} row(s) - Worldfootball.build #{league} #{season}"
30
32
  print " - #{stage}" unless stage.empty?
31
33
  print "\n"
32
34
 
33
35
 
36
+ zone = find_zone!( league: league, season: season )
37
+
38
+
34
39
  ## note: use only first part from key for lookup
35
40
  ## e.g. at.1 => at
36
41
  ## eng.1 => eng
@@ -61,10 +66,10 @@ def self.build( rows, season:, league:, stage: '' ) ## rename to fixup or such
61
66
  exit 1
62
67
  end
63
68
  print "\n"
64
-
65
- ## note - must start line e.g.
66
- ## do NOT match => Qual. 1. Runde (1. Runde)!!!
67
- elsif row[:round] =~ /^(
69
+
70
+ ## note - must start line e.g.
71
+ ## do NOT match => Qual. 1. Runde (1. Runde)!!!
72
+ elsif row[:round] =~ /^(
68
73
  [1-9]\.[ ]Runde|
69
74
  Achtelfinale|
70
75
  Viertelfinale|
@@ -103,12 +108,10 @@ def self.build( rows, season:, league:, stage: '' ) ## rename to fixup or such
103
108
  team2_str = row[:team2]
104
109
  score_str = row[:score]
105
110
 
106
- ## convert date from string e.g. 2019-25-10
107
- date = Date.strptime( date_str, '%Y-%m-%d' )
108
111
 
109
112
 
110
113
  ### check for score_error; first (step 1) lookup by date
111
- score_error = score_errors[ date.strftime('%Y-%m-%d') ]
114
+ score_error = score_errors[ date_str ]
112
115
  if score_error
113
116
  if team1_str == score_error[0] &&
114
117
  team2_str == score_error[1]
@@ -145,17 +148,44 @@ def self.build( rows, season:, league:, stage: '' ) ## rename to fixup or such
145
148
  ht, ft, et, pen, comments = parse_score( score_str )
146
149
 
147
150
 
151
+ ###################
152
+ ### calculate date & times
153
+ ## convert date from string e.g. 2019-25-10
154
+ ## date = Date.strptime( date_str, '%Y-%m-%d' )
155
+
156
+ if time_str.nil? || time_str.empty?
157
+ ## no time
158
+ ## assume 00:00:00T
159
+ time_str = ''
160
+ timezone = ''
161
+ utc = ''
162
+ else
163
+ ## note - assume central european (summer) time (cet/cest) - UTC+1 or UTC+2
164
+ cet = CET.strptime( "#{date_str} #{time_str}", '%Y-%m-%d %H:%M' )
165
+
166
+ utc = cet.getutc ## convert to utc
167
+ local = zone.to_local( utc ) # convert to local via utc
168
+ ## overwrite old with local
169
+ date_str = local.strftime( '%Y-%m-%d' )
170
+ time_str = local.strftime( '%H:%M' )
171
+ timezone = local.strftime( '%Z/%z' )
172
+ utc = utc.strftime( '%Y-%m-%dT%H:%MZ' )
173
+ end
174
+
175
+
148
176
  recs << [stage,
149
177
  round,
150
- date.strftime( '%Y-%m-%d' ),
178
+ date_str,
151
179
  time_str,
180
+ timezone,
152
181
  team1_str,
153
182
  ft,
154
183
  ht,
155
184
  team2_str,
156
185
  et, # extra: incl. extra time
157
186
  pen, # extra: incl. penalties
158
- comments]
187
+ comments,
188
+ utc]
159
189
  end # each row
160
190
  recs
161
191
  end # build
@@ -1,146 +1,11 @@
1
1
  module Worldfootball
2
2
 
3
- #################
4
- # todo/fix - use timezone instead of offset !!!
5
- # e.g
6
- =begin
7
- TIMEZONES = {
8
- 'eng.1' => 'Europe/London',
9
- 'eng.2' => 'Europe/London',
10
-
11
- 'es.1' => 'Europe/Madrid',
12
-
13
- 'de.1' => 'Europe/Berlin',
14
- 'fr.1' => 'Europe/Paris',
15
- 'it.1' => 'Europe/Rome',
16
- 'nl.1' => 'Europe/Amsterdam',
17
-
18
- 'pt.1' => 'Europe/Lisbon',
19
-
20
- ## todo/fix - pt.1
21
- ## one team in madeira!!! check for different timezone??
22
- ## CD Nacional da Madeira
23
-
24
- 'br.1' => 'America/Sao_Paulo',
25
- ## todo/fix - brazil has 4 timezones
26
- ## really only two in use for clubs
27
- ## west and east (amazonas et al)
28
- ## for now use west for all - why? why not?
29
- }
30
- =end
31
-
32
- ## todo - find "proper/classic" timezone ("winter time")
33
-
34
- ## Brasilia - Distrito Federal, Brasil (GMT-3) -- summer time?
35
- ## Ciudad de México, CDMX, México (GMT-5) -- summer time?
36
- ## Londres, Reino Unido (GMT+1)
37
- ## Madrid -- ?
38
- ## Lisboa -- ?
39
- ## Moskow -- ?
40
- ##
41
- ## todo/check - quick fix timezone offsets for leagues for now
42
- ## - find something better - why? why not?
43
- ## note: assume time is in GMT/UTC+1 - PLUS SUMMERTIME!!!
44
- ## todo/fix - consider summertime before conversion too!!!
45
-
46
-
47
- OFFSETS = {
48
-
49
- ## fix - change to gmt/utc offset
50
- ## if offset == 1 (GMT/UTC+1)
51
- ## do NOTHING (default date/timezone of pages)
52
-
53
- 'eng' => 0,
54
- # 'eng.1' => 0,
55
- # 'eng.2' => 0,
56
- # 'eng.3' => 0,
57
- # 'eng.4' => 0,
58
- # 'eng.5' => 0,
59
-
60
- 'ie' => 0,
61
- 'sco' => 0,
62
-
63
- 'pt' => 0,
64
- # 'pt.1' => 0,
65
- # 'pt.2' => 0,
66
-
67
- 'fi' => 2, # +2
68
- 'gr' => 2, # +2
69
- 'ro' => 2, # +2
70
- 'ua' => 2, # +2
71
-
72
- 'ru' => 3, # +3
73
- 'tr' => 3, # +3 turkey time/moscow time
74
-
75
-
76
- 'us' => -5, # (gmt-5) new york
77
-
78
- 'mx' => -6,
79
- # 'mx.1' => -6,
80
- # 'mx.2' => -6,
81
- # 'mx.3' => -6,
82
- # 'mx.cup' => -6,
83
-
84
- 'cr' => -6, # gmt-6
85
- 'gt' => -6, # gmt-6
86
- 'hn' => -6, # gmt-6
87
- 'sv' => -6, # gmt-6
88
- 'ni' => -6, # gmt-6
89
-
90
- 'uy' => -3, # gmt-3
91
- 'pe' => -5, # gmt-5
92
- 'ec' => -5, # gmt-5
93
- 'co' => -5, # gmt-5
94
- 'bo' => -4, # gmt-4
95
- 'cl' => -4, # gmt-4
96
-
97
- 'br' => -4, # gmt-3 - change to -3?
98
- # 'br.1' => -4,
99
- 'ar' => -4, # gmt-3 - change to -3?
100
- # 'ar.1' => -4,
101
-
102
-
103
- 'eg' => 3, # +3 (gmt+3)
104
- 'jp' => 9, # +9 (gmt+9)
105
- 'cn' => 7, # +7 (gmt+7)
106
-
107
-
108
- ## note - central european time (cet) - no need for date auto-fix
109
- 'at' => 1,
110
- 'de' => 1,
111
- 'ch' => 1,
112
- 'hu' => 1,
113
- 'cz' => 1,
114
- 'pl' => 1,
115
- 'nl' => 1,
116
- 'lu' => 1,
117
- 'be' => 1,
118
- 'dk' => 1,
119
- 'se' => 1,
120
- 'it' => 1,
121
- 'fr' => 1,
122
- 'es' => 1,
123
- ## see https://en.wikipedia.org/wiki/Time_in_Europe
124
-
125
-
126
- ################
127
- ## int'l tournaments
128
- # 'uefa.cl'
129
- # 'uefa.el'
130
- 'uefa.cl' => 1,
131
- 'uefa.el' => 1,
132
-
133
- 'concacaf.cl' => -6, ### use mx time
134
- 'copa.l' => -4, ### use brazil time
135
- }
136
-
137
3
 
138
4
  ####
139
5
  # config for slug to local basename / directories
140
6
  # e.g.
141
7
  # aut-bundesliga-2023-2024 => austria/2023-24/1_bundesliga.txt
142
8
 
143
-
144
9
  ## add (timezone) offset here too - why? why not?
145
10
  LEAGUE_SETUPS = {
146
11
  ## note - for now auto-generate path via name (downcased)
@@ -37,9 +37,6 @@ def self.convert( league:, season: )
37
37
  end
38
38
 
39
39
 
40
- recs = fix_dates( recs, league: league.key )
41
-
42
-
43
40
  ## note: sort matches by date before saving/writing!!!!
44
41
  ## note: for now assume date in string in 1999-11-30 format (allows sort by "simple" a-z)
45
42
  ## note: assume date is third column!!! (stage/round/date/...)
@@ -60,63 +57,5 @@ recs.each do |rec|
60
57
  puts "write #{out_path}..."
61
58
  write_csv( out_path, recs, headers: headers )
62
59
  end
63
-
64
-
65
- ## helper to fix dates to use local timezone (and not utc/london time)
66
- def self.fix_dates( rows, league: )
67
-
68
- ## check: rename (optional) offset to time_offset or such?
69
- ## note - retry with league_country (e.g. eng.1 => eng etc.)
70
- offset = OFFSETS[ league ] ||
71
- OFFSETS[ league.split('.')[0] ]
72
-
73
- if offset.nil?
74
- puts "!! ERROR - no timezone/offset configured for league >#{league}<:"
75
- pp rows[0] ## print first row too (for dates etc.)
76
- exit 1
77
- end
78
-
79
-
80
- ## todo/check - rename offset to timezone
81
- ## or utc_offset or such - why? why not
82
-
83
- ## note - assume central european time (cet) - GMT/UTC+1
84
- ## e.g. offset = 1 for cet (and 0 for gmt/london) etc.
85
- diff_cet = offset-1
86
-
87
- return rows if diff_cet == 0 ## no need to convert if in cet
88
-
89
- rows.map { |row| _fix_date( row, offset ) }
90
- end
91
-
92
-
93
- def self._fix_date( row, offset )
94
- ## note: time (column) required for fix
95
- return row if row[3].nil? || row[3].empty?
96
-
97
- ## note - assume central european time (cet) - GMT/UTC+1
98
- diff_cet = offset-1
99
-
100
- return row if diff_cet == 0
101
-
102
-
103
-
104
- col = row[2]
105
- if col =~ /^\d{4}-\d{2}-\d{2}$/
106
- date_fmt = '%Y-%m-%d' # e.g. 2002-08-17
107
- else
108
- puts "!!! ERROR - wrong (unknown) date format >>#{col}<<; cannot continue; fix it; sorry"
109
- ## todo/fix: add to errors/warns list - why? why not?
110
- exit 1
111
- end
112
-
113
- date = DateTime.strptime( "#{row[2]} #{row[3]}", "#{date_fmt} %H:%M" )
114
- ## NOTE - MUST be -7/24.0!!!! or such to work
115
- date = date + (diff_cet/24.0)
116
-
117
- row[2] = date.strftime( date_fmt ) ## overwrite "old"
118
- row[3] = date.strftime( '%H:%M' )
119
- row ## return row for possible pipelining - why? why not?
120
- end
121
-
122
60
  end # module Worldfootball
61
+
@@ -73,7 +73,7 @@ class LeagueItem # nested inside LeagueConfig
73
73
  pages = pages( season: season )
74
74
  if pages.nil?
75
75
  puts "!! ERROR - no season #{season} found for #{key}; seasons incl:"
76
- pp seasons.keys
76
+ puts seasons.keys.join( ', ' )
77
77
  puts " #{seasons.keys.size} season(s)"
78
78
  exit 1
79
79
  end
@@ -116,11 +116,13 @@ end # class LeagueConfig
116
116
 
117
117
 
118
118
  LEAGUES = LeagueConfig.new
119
- recs = read_csv( "#{Worldfootball.root}/config/leagues.csv" )
120
- pp recs
121
- puts " #{recs.size} league(s)"
122
- LEAGUES.add( recs )
123
-
119
+ ['leagues_europe',
120
+ 'leagues_asia',].each do |name|
121
+ recs = read_csv( "#{Worldfootball.root}/config/#{name}.csv" )
122
+ pp recs
123
+ puts " #{recs.size} league(s) in #{name}"
124
+ LEAGUES.add( recs )
125
+ end
124
126
 
125
127
 
126
128
  ###########
@@ -130,7 +132,7 @@ def self.find_league!( league_code )
130
132
  league = LEAGUES[ league_code ]
131
133
  if league.nil?
132
134
  puts "!! ERROR - no config found for #{league_code}; leagues incl:"
133
- pp LEAGUES.keys
135
+ puts LEAGUES.keys.join( ', ' )
134
136
  puts " #{LEAGUES.size} leagues(s)"
135
137
  exit 1
136
138
  end
@@ -106,7 +106,7 @@ end
106
106
  def log( msg ) ### append to log
107
107
  File.open( './logs.txt', 'a:utf-8' ) do |f|
108
108
  f.write( msg )
109
- f.write( "\n" )
109
+ f.write( "\n" )
110
110
  end
111
111
  end
112
112
 
@@ -6,13 +6,15 @@ MAX_HEADERS = [
6
6
  'Round',
7
7
  'Date',
8
8
  'Time',
9
+ 'Timezone',
9
10
  'Team 1',
10
11
  'FT',
11
12
  'HT',
12
13
  'Team 2',
13
14
  'ET',
14
15
  'P',
15
- 'Comments'] ## e.g. awarded, cancelled/canceled, etc.
16
+ 'Comments', ## e.g. awarded, cancelled/canceled, etc.
17
+ 'UTC']
16
18
 
17
19
  MIN_HEADERS = [ ## always keep even if all empty
18
20
  'Date',
@@ -1,8 +1,8 @@
1
1
 
2
2
  module Worldfootball
3
3
  MAJOR = 0 ## todo: namespace inside version or something - why? why not??
4
- MINOR = 1
5
- PATCH = 2
4
+ MINOR = 2
5
+ PATCH = 0
6
6
  VERSION = [MAJOR,MINOR,PATCH].join('.')
7
7
 
8
8
  def self.version
data/lib/worldfootball.rb CHANGED
@@ -1,18 +1,14 @@
1
1
  ## 3rd party (our own)
2
- require 'season/formats' ## add season support
3
- require 'webget' ## incl. webget, webcache, webclient, etc.
4
-
5
- require 'cocos'
6
-
7
- ## 3rd party
2
+ require 'football/timezones' ## note - pulls in season/formats, cocos & tzinfo
3
+ require 'webget' ## incl. webget, webcache, webclient, etc.
8
4
  require 'nokogiri'
9
5
 
10
6
 
11
-
12
7
  ###
13
8
  # our own code
14
9
  require_relative 'worldfootball/version'
15
10
  require_relative 'worldfootball/leagues'
11
+
16
12
  require_relative 'worldfootball/config' ## rename to setup/timezones/layouts or such?
17
13
  require_relative 'worldfootball/download'
18
14
  require_relative 'worldfootball/page'
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: worldfootball
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gerald Bauer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-09-09 00:00:00.000000000 Z
11
+ date: 2024-09-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: season-formats
14
+ name: football-timezones
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
@@ -52,20 +52,6 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
- - !ruby/object:Gem::Dependency
56
- name: cocos
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - ">="
60
- - !ruby/object:Gem::Version
61
- version: '0'
62
- type: :runtime
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - ">="
67
- - !ruby/object:Gem::Version
68
- version: '0'
69
55
  - !ruby/object:Gem::Dependency
70
56
  name: rdoc
71
57
  requirement: !ruby/object:Gem::Requirement
@@ -116,7 +102,8 @@ files:
116
102
  - README.md
117
103
  - Rakefile
118
104
  - bin/wfb
119
- - config/leagues.csv
105
+ - config/leagues_asia.csv
106
+ - config/leagues_europe.csv
120
107
  - lib/worldfootball.rb
121
108
  - lib/worldfootball/build-parse_score.rb
122
109
  - lib/worldfootball/build.rb
data/config/leagues.csv DELETED
@@ -1,16 +0,0 @@
1
- key, slug
2
-
3
- de.1, bundesliga-2024-2025
4
- de.2, 2-bundesliga-2024-2025
5
- de.3, 3-liga-2024-2025
6
- de.4.bayern, regionalliga-bayern-2024-2025
7
- de.cup, dfb-pokal-2024-2025
8
-
9
- at.1, aut-bundesliga-2024-2025
10
- at.2, aut-2-liga-2024-2025
11
- at.3.o, aut-regionalliga-ost-2024-2025
12
- at.cup, aut-oefb-cup-2024-2025
13
-
14
-
15
-
16
-