fbtxt2json 0.4.0 → 0.9.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 +4 -4
- data/CHANGELOG.md +1 -1
- data/Rakefile +4 -4
- data/bin/fbtxt2csv +6 -0
- data/bin/fbtxt2json +6 -0
- data/lib/fbtxt2json/fbtxt2csv.rb +12 -12
- data/lib/fbtxt2json/fbtxt2json.rb +10 -14
- data/lib/fbtxt2json.rb +2 -2
- metadata +10 -10
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 52dac30f1b8499a0e19d41c3bd567d081d516fd074846078888cee43d2099f2d
|
|
4
|
+
data.tar.gz: 845661a881e4c5a37a5d79750440078a79e4318a12d60bca1f696083148da92d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 80ea0a8486f29ec54161596ed9efe272d6e4413ea980bc8abb90e2dd763b0fd811b68f32b2741127bbad614a78308fd88ce7d5cae0a00fefbc984d596a68611c
|
|
7
|
+
data.tar.gz: 44f9f60eb73828319dc68471b9c1e088b9d8be98cb3917644b77966780ed5624bf7e05f232d353165b98f8770a0b3d57a271241b5c6481c6ce866f388b3151ab
|
data/CHANGELOG.md
CHANGED
data/Rakefile
CHANGED
|
@@ -2,7 +2,7 @@ require 'hoe'
|
|
|
2
2
|
|
|
3
3
|
|
|
4
4
|
Hoe.spec 'fbtxt2json' do
|
|
5
|
-
self.version = '0.
|
|
5
|
+
self.version = '0.9.0'
|
|
6
6
|
|
|
7
7
|
self.summary = "fbtxt2json (& fbtxt2csv) - convert football.txt match schedules & more to (structured) json or (tabular) csv"
|
|
8
8
|
self.description = summary
|
|
@@ -20,10 +20,10 @@ Hoe.spec 'fbtxt2json' do
|
|
|
20
20
|
|
|
21
21
|
|
|
22
22
|
self.extra_deps = [
|
|
23
|
-
['
|
|
24
|
-
['
|
|
23
|
+
['fbtxt-parser', '>= 0.9.0'],
|
|
24
|
+
['fbtxt-document', '>= 0.9.0'],
|
|
25
25
|
### note - include fbtok gem for (shared) command-line helpers/machinery!!!
|
|
26
|
-
['fbtok', '>= 0.
|
|
26
|
+
['fbtok', '>= 0.9.0'],
|
|
27
27
|
]
|
|
28
28
|
|
|
29
29
|
self.spec_extras = {
|
data/bin/fbtxt2csv
CHANGED
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
## ruby -I ./lib bin/fbtxt2csv
|
|
5
5
|
|
|
6
6
|
|
|
7
|
+
## quick hack
|
|
8
|
+
## if available always use latest (local) source version
|
|
9
|
+
$LOAD_PATH.unshift( '/sports/sportdb/sport.db.v2/parser/lib' )
|
|
10
|
+
$LOAD_PATH.unshift( '/sports/sportdb/sport.db.v2/document/lib' )
|
|
11
|
+
|
|
12
|
+
|
|
7
13
|
require 'fbtxt2json'
|
|
8
14
|
|
|
9
15
|
|
data/bin/fbtxt2json
CHANGED
|
@@ -4,6 +4,12 @@
|
|
|
4
4
|
## $ ruby -I ./lib bin/fbtxt2json
|
|
5
5
|
|
|
6
6
|
|
|
7
|
+
## quick hack
|
|
8
|
+
## if available always use latest (local) source version
|
|
9
|
+
$LOAD_PATH.unshift( '/sports/sportdb/sport.db.v2/parser/lib' )
|
|
10
|
+
$LOAD_PATH.unshift( '/sports/sportdb/sport.db.v2/document/lib' )
|
|
11
|
+
|
|
12
|
+
|
|
7
13
|
require 'fbtxt2json'
|
|
8
14
|
|
|
9
15
|
|
data/lib/fbtxt2json/fbtxt2csv.rb
CHANGED
|
@@ -57,24 +57,24 @@ paths = if args.empty?
|
|
|
57
57
|
end
|
|
58
58
|
|
|
59
59
|
|
|
60
|
+
|
|
60
61
|
if opts[:debug]
|
|
61
|
-
|
|
62
|
-
|
|
62
|
+
Fbtxt::Document.debug = true
|
|
63
|
+
Fbtxt::MatchTree.debug = true
|
|
63
64
|
else
|
|
64
|
-
|
|
65
|
-
SportDb::MatchParser.debug = false
|
|
66
|
-
LogUtils::Logger.root.level = :info
|
|
65
|
+
# note - assume debug = false is default !!
|
|
67
66
|
end
|
|
68
67
|
|
|
69
68
|
|
|
70
69
|
|
|
70
|
+
|
|
71
71
|
recs = []
|
|
72
72
|
|
|
73
73
|
paths.each do |path|
|
|
74
74
|
if Dir.exist?( path )
|
|
75
75
|
puts "==> reading dir >#{path}<..."
|
|
76
76
|
|
|
77
|
-
datafiles =
|
|
77
|
+
datafiles = Fbtxt::Pathspec.find( path, seasons: opts[:seasons] )
|
|
78
78
|
pp datafiles
|
|
79
79
|
puts " #{datafiles.size} datafile(s)"
|
|
80
80
|
datafiles.each_with_index do |datafile,j|
|
|
@@ -182,9 +182,9 @@ end
|
|
|
182
182
|
|
|
183
183
|
|
|
184
184
|
def self.parse( txt ) ### check - name parse_txt or txt_to_csv or such - why? why not?
|
|
185
|
-
|
|
186
|
-
matches =
|
|
187
|
-
name =
|
|
185
|
+
doc = Fbtxt::Document.new( txt )
|
|
186
|
+
matches = doc.matches
|
|
187
|
+
name = doc.title || '??'
|
|
188
188
|
|
|
189
189
|
recs = []
|
|
190
190
|
|
|
@@ -238,9 +238,9 @@ def self.parse( txt ) ### check - name parse_txt or txt_to_csv or such - why?
|
|
|
238
238
|
|
|
239
239
|
puts " #{recs.size} record(s)"
|
|
240
240
|
|
|
241
|
-
if
|
|
242
|
-
puts "!! #{
|
|
243
|
-
pp
|
|
241
|
+
if doc.errors?
|
|
242
|
+
puts "!! #{doc.errors.size} parse error(s):"
|
|
243
|
+
pp doc.errors
|
|
244
244
|
exit 1
|
|
245
245
|
end
|
|
246
246
|
|
|
@@ -68,12 +68,10 @@ paths = if args.empty?
|
|
|
68
68
|
|
|
69
69
|
|
|
70
70
|
if opts[:debug]
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
Fbtxt::Document.debug = true
|
|
72
|
+
Fbtxt::MatchTree.debug = true
|
|
73
73
|
else
|
|
74
|
-
|
|
75
|
-
SportDb::MatchParser.debug = false
|
|
76
|
-
LogUtils::Logger.root.level = :info
|
|
74
|
+
# note - assume debug = false is default !!
|
|
77
75
|
end
|
|
78
76
|
|
|
79
77
|
|
|
@@ -163,7 +161,7 @@ def self.do_dirs( paths, outdir: nil,
|
|
|
163
161
|
puts "==> reading dir [#{i+1}/#{paths.size}] >#{path}<..."
|
|
164
162
|
summary << "==> [#{i+1}/#{paths.size}] dir #{path}\n"
|
|
165
163
|
|
|
166
|
-
datafiles =
|
|
164
|
+
datafiles = Fbtxt::Pathspec.find( path, seasons: seasons )
|
|
167
165
|
pp datafiles
|
|
168
166
|
puts " #{datafiles.size} datafile(s)"
|
|
169
167
|
summary << " #{datafiles.size} datafile(s)\n\n"
|
|
@@ -208,17 +206,15 @@ end
|
|
|
208
206
|
|
|
209
207
|
|
|
210
208
|
def self.parse( txt ) ### check - name parse_txt or txt_to_json or such - why? why not?
|
|
211
|
-
|
|
212
|
-
matches = quick.parse
|
|
213
|
-
name = quick.league_name ## quick hack - get league+season via league_name
|
|
209
|
+
doc = Fbtxt::Document.new( txt )
|
|
214
210
|
|
|
215
|
-
data = { 'name' =>
|
|
216
|
-
'matches' => matches.map {|match| match.as_json }}
|
|
211
|
+
data = { 'name' => doc.title || '??',
|
|
212
|
+
'matches' => doc.matches.map {|match| match.as_json }}
|
|
217
213
|
|
|
218
214
|
|
|
219
|
-
if
|
|
220
|
-
puts "!! #{
|
|
221
|
-
pp
|
|
215
|
+
if doc.errors?
|
|
216
|
+
puts "!! #{doc.errors.size} parse error(s):"
|
|
217
|
+
pp doc.errors
|
|
222
218
|
exit 1
|
|
223
219
|
end
|
|
224
220
|
|
data/lib/fbtxt2json.rb
CHANGED
metadata
CHANGED
|
@@ -1,57 +1,57 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: fbtxt2json
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.9.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: 2026-
|
|
11
|
+
date: 2026-07-07 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
14
|
+
name: fbtxt-parser
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
17
|
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 0.
|
|
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.
|
|
26
|
+
version: 0.9.0
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
|
-
name:
|
|
28
|
+
name: fbtxt-document
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - ">="
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 0.
|
|
33
|
+
version: 0.9.0
|
|
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: 0.
|
|
40
|
+
version: 0.9.0
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
42
|
name: fbtok
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
45
|
- - ">="
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: 0.
|
|
47
|
+
version: 0.9.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.
|
|
54
|
+
version: 0.9.0
|
|
55
55
|
- !ruby/object:Gem::Dependency
|
|
56
56
|
name: rdoc
|
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|