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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7aec08e7f51705f370e3294a721ca14985cc5f8a762dbdbafa77bdab09059417
4
- data.tar.gz: d3f306984b9649b928a132d4d5261ca6c86772a9f062161f5e4612ee6b6cd0d8
3
+ metadata.gz: 52dac30f1b8499a0e19d41c3bd567d081d516fd074846078888cee43d2099f2d
4
+ data.tar.gz: 845661a881e4c5a37a5d79750440078a79e4318a12d60bca1f696083148da92d
5
5
  SHA512:
6
- metadata.gz: 063b7d90237901bb9db1ee517c11ebfb2cac50085e24a910e25932a298ab902aafc3136bd2437bf5d57d2839c4d8f6fc9cac1de7451d0f2aca99800321e64260
7
- data.tar.gz: f1c58eb56adbc74689aabd6fee371513a61f3d7dcd965f4fed13d7f6d90947004878719693e0c5a17118d496a16d059ad3ae1c28c3064f9d6f9fdc391756aaf4
6
+ metadata.gz: 80ea0a8486f29ec54161596ed9efe272d6e4413ea980bc8abb90e2dd763b0fd811b68f32b2741127bbad614a78308fd88ce7d5cae0a00fefbc984d596a68611c
7
+ data.tar.gz: 44f9f60eb73828319dc68471b9c1e088b9d8be98cb3917644b77966780ed5624bf7e05f232d353165b98f8770a0b3d57a271241b5c6481c6ce866f388b3151ab
data/CHANGELOG.md CHANGED
@@ -1,4 +1,4 @@
1
- ### 0.4.0
1
+ ### 0.9.0
2
2
  ### 0.0.1 / 2024-09-28
3
3
 
4
4
  * Everything is new. First release.
data/Rakefile CHANGED
@@ -2,7 +2,7 @@ require 'hoe'
2
2
 
3
3
 
4
4
  Hoe.spec 'fbtxt2json' do
5
- self.version = '0.4.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
- ['sportdb-quick', '>= 0.7.0'],
24
- ['sportdb-parser', '>= 0.7.1'],
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.4.1'],
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
 
@@ -57,24 +57,24 @@ paths = if args.empty?
57
57
  end
58
58
 
59
59
 
60
+
60
61
  if opts[:debug]
61
- SportDb::QuickMatchReader.debug = true
62
- SportDb::MatchParser.debug = true
62
+ Fbtxt::Document.debug = true
63
+ Fbtxt::MatchTree.debug = true
63
64
  else
64
- SportDb::QuickMatchReader.debug = false
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 = SportDb::Pathspec._find( path, seasons: opts[:seasons] )
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
- quick = SportDb::QuickMatchReader.new( txt )
186
- matches = quick.parse
187
- name = quick.league_name ## quick hack - get league+season via league_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 quick.errors?
242
- puts "!! #{quick.errors.size} parse error(s):"
243
- pp quick.errors
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
- SportDb::QuickMatchReader.debug = true
72
- SportDb::MatchParser.debug = true
71
+ Fbtxt::Document.debug = true
72
+ Fbtxt::MatchTree.debug = true
73
73
  else
74
- SportDb::QuickMatchReader.debug = false
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 = SportDb::Pathspec._find( path, seasons: seasons )
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
- quick = SportDb::QuickMatchReader.new( txt )
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' => 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 quick.errors?
220
- puts "!! #{quick.errors.size} parse error(s):"
221
- pp quick.errors
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
@@ -1,7 +1,7 @@
1
1
 
2
- require 'sportdb/quick'
2
+ require 'fbtxt/document'
3
3
 
4
- require 'fbtok' ### check if requires sportdb/quick (no need to duplicate)
4
+ require 'fbtok' ### check if requires fbtxt/document (no need to duplicate)
5
5
 
6
6
 
7
7
 
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.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-05-27 00:00:00.000000000 Z
11
+ date: 2026-07-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: sportdb-quick
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.7.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.7.0
26
+ version: 0.9.0
27
27
  - !ruby/object:Gem::Dependency
28
- name: sportdb-parser
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.7.1
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.7.1
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.4.1
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.4.1
54
+ version: 0.9.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rdoc
57
57
  requirement: !ruby/object:Gem::Requirement