fifadat 0.0.1 → 2026.9.30
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 +4 -4
- data/CHANGELOG.md +1 -0
- data/Manifest.txt +64 -82
- data/Rakefile +2 -2
- data/{lib/fifadat/config → config}/seasons/at.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/at.cup.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/au.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/be.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/ch.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/cz.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/de.2.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/de.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/de.cup.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/eg.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/eng.2.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/eng.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/eng.facup.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/es.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/fr.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/gr.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/hu.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/il.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/interconticup.csv +1 -1
- data/{lib/fifadat/config → config}/seasons/is.csv +1 -1
- data/{lib/fifadat/config → config}/seasons/it.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/it.cup.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/lu.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/ma.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/mx.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/nir.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/nl.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/pl.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/pt.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/sa.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/sco.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/tn.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/tr.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/uefa.cl.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/uefa.con.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/uefa.europa.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/wal.csv +1 -0
- data/{lib/fifadat/config → config}/seasons/za.csv +1 -0
- data/lib/fifadat/api.rb +59 -0
- data/lib/fifadat/{api-config.rb → config.rb} +4 -9
- data/lib/fifadat/helper.rb +6 -0
- data/lib/fifadat/pp/ppdebug.rb +69 -0
- data/lib/fifadat/pp/ppstats.rb +97 -0
- data/lib/fifadat/prepare.rb +48 -12
- data/lib/fifadat/types.rb +55 -19
- data/lib/fifadat/version.rb +19 -0
- data/lib/fifadat.rb +10 -35
- metadata +66 -85
- data/bin/fifadat +0 -14
- data/lib/fifadat/errata.rb +0 -59
- data/lib/fifadat/pp/build_match.rb +0 -105
- data/lib/fifadat/pp/build_report.rb +0 -135
- data/lib/fifadat/pp/convert-reports.rb +0 -114
- data/lib/fifadat/pp/convert.rb +0 -163
- data/lib/fifadat/pp/goals-calc_score.rb +0 -58
- data/lib/fifadat/pp/goals.rb +0 -89
- data/lib/fifadat/pp/helper-date.rb +0 -13
- data/lib/fifadat/pp/helper-minute.rb +0 -81
- data/lib/fifadat/pp/helper-score.rb +0 -139
- data/lib/fifadat/pp/norm.rb +0 -34
- data/lib/fifadat/pp/officials.rb +0 -86
- data/lib/fifadat/pp/penalties.rb +0 -132
- data/lib/fifadat/pp/players.rb +0 -323
- data/lib/fifadat/pp/stadiums.rb +0 -99
- data/lib/fifadat/pp/stages.rb +0 -119
- data/lib/fifadat/pp/substitutions.rb +0 -444
- data/lib/fifadat/pp/teams.rb +0 -91
- data/lib/fifadat/ppdebug.rb +0 -128
- data/lib/fifadat/tool.rb +0 -184
- /data/{lib/fifadat/config → config}/codes_club-europe.csv +0 -0
- /data/{lib/fifadat/config → config}/codes_club.csv +0 -0
- /data/{lib/fifadat/config → config}/codes_nati.csv +0 -0
- /data/{lib/fifadat/config → config}/seasons/ar.csv +0 -0
- /data/{lib/fifadat/config → config}/seasons/br.csv +0 -0
- /data/{lib/fifadat/config → config}/seasons/clubworldcup.csv +0 -0
- /data/{lib/fifadat/config → config}/seasons/cn.csv +0 -0
- /data/{lib/fifadat/config → config}/seasons/co.csv +0 -0
- /data/{lib/fifadat/config → config}/seasons/copa.l.csv +0 -0
- /data/{lib/fifadat/config → config}/seasons/copa.s.csv +0 -0
- /data/{lib/fifadat/config → config}/seasons/ie.csv +0 -0
- /data/{lib/fifadat/config → config}/seasons/jp.csv +0 -0
- /data/{lib/fifadat/config → config}/seasons/kr.csv +0 -0
- /data/{lib/fifadat/config → config}/seasons/mls.csv +0 -0
- /data/{lib/fifadat/config → config}/seasons/mx.2.csv +0 -0
- /data/{lib/fifadat/config → config}/seasons/mx.cup.csv +0 -0
- /data/{lib/fifadat/config → config}/seasons/no.csv +0 -0
- /data/{lib/fifadat/config → config}/seasons/se.csv +0 -0
- /data/{lib/fifadat/config → config}/seasons/uy.csv +0 -0
- /data/{lib/fifadat/config → config}/seasons/worldcup.csv +0 -0
- /data/lib/fifadat/{ppmatch.rb → pp/ppmatch.rb} +0 -0
data/lib/fifadat/tool.rb
DELETED
|
@@ -1,184 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
module Fifadat
|
|
4
|
-
|
|
5
|
-
def self.main( args=ARGV )
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
opts = {
|
|
9
|
-
season: nil,
|
|
10
|
-
file: nil,
|
|
11
|
-
force: false,
|
|
12
|
-
offline: false,
|
|
13
|
-
reports: true,
|
|
14
|
-
|
|
15
|
-
cache_dir: '/sports/cache.fifadat',
|
|
16
|
-
convert_dir: '/sports/cache.api.fifa',
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
parser = OptionParser.new do |parser|
|
|
21
|
-
parser.banner = "Usage: #{$PROGRAM_NAME} [options] NAME"
|
|
22
|
-
## add options here
|
|
23
|
-
parser.on( "--season=SEASON",
|
|
24
|
-
"season" ) do |season|
|
|
25
|
-
opts[:season] = season
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
parser.on( "--cache", "--cached", "--offline",
|
|
30
|
-
"always (and only) use cached data in >#{opts[:cache_dir]}< - default is (#{opts[:offline]})" ) do |offline|
|
|
31
|
-
opts[:offline] = offline
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
parser.on( "--force",
|
|
35
|
-
"always (force) download fresh copy & overwrite - default is (#{opts[:force]})" ) do |force|
|
|
36
|
-
opts[:force] = force
|
|
37
|
-
end
|
|
38
|
-
|
|
39
|
-
parser.on( "--[no-]reports",
|
|
40
|
-
"incl. one-by-one (detailed) match reports - default is (#{opts[:reports]})" ) do |reports|
|
|
41
|
-
opts[:reports] = reports
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
parser.on( "-f FILE", "--file FILE",
|
|
47
|
-
"read leagues (and seasons) via .csv file") do |file|
|
|
48
|
-
opts[:file] = file
|
|
49
|
-
end
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
end
|
|
54
|
-
parser.parse!( args )
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
puts "OPTS:"
|
|
58
|
-
pp opts
|
|
59
|
-
puts "ARGV:"
|
|
60
|
-
pp args
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
cache_dir = opts[:cache_dir]
|
|
64
|
-
convert_dir = opts[:convert_dir]
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
if opts[:file]
|
|
69
|
-
recs = read_csv( opts[:file] )
|
|
70
|
-
else
|
|
71
|
-
|
|
72
|
-
## otherwise
|
|
73
|
-
## build rec(ord)s from scratch (from command-line args)
|
|
74
|
-
if args.size == 0
|
|
75
|
-
puts " NAME argument (plus season opt) required; use:"
|
|
76
|
-
Fifa::CODES.each do |code, h|
|
|
77
|
-
idCompetition = h[:idCompetition]
|
|
78
|
-
comp = Fifa::COMPETITIONS[idCompetition]
|
|
79
|
-
seasons = comp.values.map { |c| c[:season] }
|
|
80
|
-
puts " #{code} (#{seasons.size}) #{seasons.join(',')}"
|
|
81
|
-
end
|
|
82
|
-
exit 1
|
|
83
|
-
end
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
##
|
|
87
|
-
## note - all args other than first ignored for now; issue warn - why? why not?
|
|
88
|
-
rec = {}
|
|
89
|
-
rec['league'] = args[0].downcase
|
|
90
|
-
rec['seasons'] = Season.parse(opts[:season]).to_s
|
|
91
|
-
recs = [rec]
|
|
92
|
-
end
|
|
93
|
-
|
|
94
|
-
pp recs
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
################
|
|
98
|
-
## step 0) validate slugs & seasons
|
|
99
|
-
recs.each do |rec|
|
|
100
|
-
slug = rec['league']
|
|
101
|
-
seasons = Season.parse_line( rec['seasons'] )
|
|
102
|
-
seasons.each do |season|
|
|
103
|
-
pp Fifa._idSeason_by!( name: slug, season: season )
|
|
104
|
-
end
|
|
105
|
-
end
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
if opts[:offline] == false
|
|
109
|
-
## step 1a) prepare
|
|
110
|
-
recs.each do |rec|
|
|
111
|
-
slug = rec['league']
|
|
112
|
-
seasons = Season.parse_line( rec['seasons'] )
|
|
113
|
-
seasons.each do |season|
|
|
114
|
-
|
|
115
|
-
prepare( name: slug,
|
|
116
|
-
season: season,
|
|
117
|
-
outdir: cache_dir,
|
|
118
|
-
force: opts[:force] ) ## note - autoadd slug (name) e..g ./eng !!
|
|
119
|
-
|
|
120
|
-
=begin
|
|
121
|
-
###
|
|
122
|
-
## add debug
|
|
123
|
-
page = String.new
|
|
124
|
-
page << "= #{slug} #{season}\n"
|
|
125
|
-
page << "# generated on #{Time.now}\n"
|
|
126
|
-
page << "\n"
|
|
127
|
-
|
|
128
|
-
buf = pp_debug( slug: slug, season: season,
|
|
129
|
-
indir: cache_dir )
|
|
130
|
-
|
|
131
|
-
page << buf
|
|
132
|
-
puts page
|
|
133
|
-
|
|
134
|
-
outpath = "#{convert_dir}/#{season.to_path}_#{slug}-debug.txt"
|
|
135
|
-
|
|
136
|
-
write_text( outpath, page )
|
|
137
|
-
puts " written to >#{outpath}<"
|
|
138
|
-
=end
|
|
139
|
-
end
|
|
140
|
-
end
|
|
141
|
-
|
|
142
|
-
if opts[:reports]
|
|
143
|
-
## step 1b) prepare details
|
|
144
|
-
recs.each do |rec|
|
|
145
|
-
slug = rec['league']
|
|
146
|
-
seasons = Season.parse_line( rec['seasons'] )
|
|
147
|
-
seasons.each do |season|
|
|
148
|
-
## match (reports) one-by-one
|
|
149
|
-
prepare_reports( name: slug,
|
|
150
|
-
season: season,
|
|
151
|
-
outdir: cache_dir, ## note - autoadd slug (name) e..g ./eng !!
|
|
152
|
-
force: opts[:force] )
|
|
153
|
-
end
|
|
154
|
-
end
|
|
155
|
-
end # if reports
|
|
156
|
-
end ## if online (offline==false)
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
## step 2) convert
|
|
162
|
-
recs.each do |rec|
|
|
163
|
-
slug = rec['league']
|
|
164
|
-
seasons = Season.parse_line( rec['seasons'] )
|
|
165
|
-
seasons.each do |season|
|
|
166
|
-
|
|
167
|
-
convert( slug: slug, season: season,
|
|
168
|
-
indir: cache_dir,
|
|
169
|
-
outdir: convert_dir )
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
## convert all match reports one-by-one
|
|
173
|
-
convert_reports( slug: slug, season: season,
|
|
174
|
-
indir: cache_dir,
|
|
175
|
-
outdir: convert_dir )
|
|
176
|
-
end
|
|
177
|
-
end
|
|
178
|
-
|
|
179
|
-
puts "bye"
|
|
180
|
-
|
|
181
|
-
end
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
end # module Fifadat
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|