datafile 0.2.5 → 0.3.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.
@@ -15,8 +15,8 @@ class TestBuilder < MiniTest::Test
15
15
 
16
16
  world 'world.db', setup: 'countries'
17
17
 
18
- football 'national-teams' ## NOTE: default is setup: 'all'
19
-
18
+ football 'national-teams' ## NOTE: default is setup: 'all
19
+
20
20
  ### todo/fix: download archive only once(!!) even if included more than once
21
21
  ## football 'world-cup', setup: '2014_quali'
22
22
 
@@ -27,16 +27,16 @@ class TestBuilder < MiniTest::Test
27
27
  EOS
28
28
 
29
29
  builder = Datafile::Builder.load( code )
30
-
30
+
31
31
  datafile = builder.datafile
32
- ## datafile.run
33
- ## datafile.download
34
- ## datafile.read
35
-
32
+ datafile.run
33
+
34
+ datafile.download
35
+ datafile.read
36
36
  datafile.dump
37
-
37
+
38
38
  ## change worker (defaults to ZipWorker)
39
- datafile.worker = Datafile::FileWorker.new( datafile )
39
+ datafile.worker = Datafile::FileWorker
40
40
  datafile.dump
41
41
 
42
42
  assert true # if we get here - test success
@@ -13,10 +13,10 @@ class TestFileDatasetRegistry < MiniTest::Test
13
13
  registry = Datafile::FileDatasetRegistry.new
14
14
  registry.merge( openfootball: '../../openfootball' )
15
15
 
16
- assert_equal '../../openfootball/at-austria', registry.lookup( 'openfootball/at-austria')
16
+ assert_equal '../../openfootball/austria', registry.lookup( 'openfootball/austria')
17
17
  assert_equal '../../openmundi/world.db', registry.lookup( 'openmundi/world.db' )
18
18
 
19
- assert_equal '../../openfootball/at-austria', registry.lookup!( 'openfootball/at-austria')
19
+ assert_equal '../../openfootball/austria', registry.lookup!( 'openfootball/austria')
20
20
  assert_equal '../../openmundi/world.db', registry.lookup!( 'openmundi/world.db' )
21
21
 
22
22
  assert_equal '../../openfootball/national-teams', registry.lookup( 'openfootball/national-teams')
@@ -24,4 +24,3 @@ class TestFileDatasetRegistry < MiniTest::Test
24
24
  end
25
25
 
26
26
  end # class TestFileDatasetRegistry
27
-
@@ -21,19 +21,18 @@ class TestFileWorker < MiniTest::Test
21
21
  ActiveRecord::Base.establish_connection( adapter: 'sqlite3',
22
22
  database: ':memory:' )
23
23
  SportDb.create_all
24
- SportDb.read_builtin
25
24
 
26
25
  ## change worker (defaults to ZipWorker)
27
- world_datafile.worker = Datafile::FileWorker.new( world_datafile )
26
+ world_datafile.worker = Datafile::FileWorker
28
27
  world_datafile.dump
29
- world_datafile.read
28
+ ## world_datafile.read
30
29
 
31
30
  registry = Datafile::FileDataset.registry
32
31
  registry.merge( openfootball: '../../openfootball' )
33
32
 
34
- eurocup_datafile.worker = Datafile::FileWorker.new( eurocup_datafile )
33
+ eurocup_datafile.worker = Datafile::FileWorker
35
34
  eurocup_datafile.dump
36
- eurocup_datafile.read
35
+ ## eurocup_datafile.read
37
36
 
38
37
  assert true # if we get here - test success
39
38
  end
@@ -12,13 +12,13 @@ class TestFootballDataset < MiniTest::Test
12
12
  def test_names
13
13
  pp Datafile::FootballDataset.known_datasets
14
14
 
15
- at = Datafile::FootballDataset.new( 'at-austria' )
16
- at2 = Datafile::FootballDataset.new( 'openfootball/at-austria' )
15
+ at = Datafile::FootballDataset.new( 'austria' )
16
+ at2 = Datafile::FootballDataset.new( 'openfootball/austria' )
17
17
  xxx = Datafile::FootballDataset.new( 'xxx' )
18
18
  xxx2 = Datafile::FootballDataset.new( 'openfootball/xxx' )
19
19
 
20
- assert_equal 'openfootball/at-austria', at.name
21
- assert_equal 'openfootball/at-austria', at2.name
20
+ assert_equal 'openfootball/austria', at.name
21
+ assert_equal 'openfootball/austria', at2.name
22
22
 
23
23
  assert_equal 'openfootball/xxx', xxx.name
24
24
  assert_equal 'openfootball/xxx', xxx2.name
@@ -27,7 +27,7 @@ class TestFootballDataset < MiniTest::Test
27
27
  ## move to test datasets - why, why not ??
28
28
  def test_world
29
29
  at = Datafile::WorldDataset.new( 'austria.db' )
30
- at2 = Datafile::WorldDataset.new( 'openmundi/austria.db' )
30
+ at2 = Datafile::WorldDataset.new( 'openmundi/austria.db' )
31
31
  xxx = Datafile::WorldDataset.new( 'xxx' )
32
32
  xxx2 = Datafile::WorldDataset.new( 'openmundi/xxx' )
33
33
 
@@ -39,13 +39,13 @@ class TestFootballDataset < MiniTest::Test
39
39
  end
40
40
 
41
41
  def test_beer
42
- at = Datafile::BeerDataset.new( 'at-austria' )
43
- at2 = Datafile::BeerDataset.new( 'openbeer/at-austria' )
42
+ at = Datafile::BeerDataset.new( 'austria' )
43
+ at2 = Datafile::BeerDataset.new( 'openbeer/austria' )
44
44
  xxx = Datafile::BeerDataset.new( 'xxx' )
45
45
  xxx2 = Datafile::BeerDataset.new( 'openbeer/xxx' )
46
46
 
47
- assert_equal 'openbeer/at-austria', at.name
48
- assert_equal 'openbeer/at-austria', at2.name
47
+ assert_equal 'openbeer/austria', at.name
48
+ assert_equal 'openbeer/austria', at2.name
49
49
 
50
50
  assert_equal 'openbeer/xxx', xxx.name
51
51
  assert_equal 'openbeer/xxx', xxx2.name
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: datafile
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.3.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: 2015-08-27 00:00:00.000000000 Z
11
+ date: 2019-11-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: logutils
@@ -24,20 +24,6 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
- - !ruby/object:Gem::Dependency
28
- name: textutils
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - ">="
32
- - !ruby/object:Gem::Version
33
- version: '0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: '0'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: fetcher
43
29
  requirement: !ruby/object:Gem::Requirement
@@ -72,51 +58,43 @@ dependencies:
72
58
  requirements:
73
59
  - - "~>"
74
60
  - !ruby/object:Gem::Version
75
- version: '3.13'
61
+ version: '3.16'
76
62
  type: :development
77
63
  prerelease: false
78
64
  version_requirements: !ruby/object:Gem::Requirement
79
65
  requirements:
80
66
  - - "~>"
81
67
  - !ruby/object:Gem::Version
82
- version: '3.13'
68
+ version: '3.16'
83
69
  description: datafile - builder for downloading n reading datasets
84
70
  email: opensport@googlegroups.com
85
71
  executables: []
86
72
  extensions: []
87
73
  extra_rdoc_files:
88
- - HISTORY.md
74
+ - CHANGELOG.md
89
75
  - Manifest.txt
90
76
  - README.md
91
77
  files:
92
- - ".gemtest"
93
- - HISTORY.md
78
+ - CHANGELOG.md
94
79
  - Manifest.txt
95
80
  - README.md
96
81
  - Rakefile
97
82
  - data/football.txt
98
83
  - lib/datafile.rb
99
84
  - lib/datafile/builder.rb
100
- - lib/datafile/builder2.rb
101
85
  - lib/datafile/datafile.rb
102
- - lib/datafile/datasets/dataset.rb
86
+ - lib/datafile/dataset.rb
103
87
  - lib/datafile/version.rb
104
- - lib/datafile/workers/dataset.rb
105
88
  - lib/datafile/workers/file/dataset.rb
106
89
  - lib/datafile/workers/file/registry.rb
107
90
  - lib/datafile/workers/file/worker.rb
108
- - lib/datafile/workers/zip/beer.rb
109
91
  - lib/datafile/workers/zip/dataset.rb
110
- - lib/datafile/workers/zip/football.rb
111
92
  - lib/datafile/workers/zip/worker.rb
112
- - lib/datafile/workers/zip/world.rb
113
93
  - test/datafile/eurocup.rb
114
94
  - test/datafile/stadiums.rb
115
95
  - test/datafile/world.rb
116
- - test/datafile2/at.rb
117
96
  - test/helper.rb
118
97
  - test/test_builder.rb
119
- - test/test_builder2.rb
120
98
  - test/test_file_dataset_registry.rb
121
99
  - test/test_file_worker.rb
122
100
  - test/test_football_dataset.rb
@@ -134,7 +112,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
134
112
  requirements:
135
113
  - - ">="
136
114
  - !ruby/object:Gem::Version
137
- version: 1.9.2
115
+ version: 2.2.2
138
116
  required_rubygems_version: !ruby/object:Gem::Requirement
139
117
  requirements:
140
118
  - - ">="
@@ -142,13 +120,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
142
120
  version: '0'
143
121
  requirements: []
144
122
  rubyforge_project:
145
- rubygems_version: 2.4.2
123
+ rubygems_version: 2.5.2
146
124
  signing_key:
147
125
  specification_version: 4
148
126
  summary: datafile - builder for downloading n reading datasets
149
- test_files:
150
- - test/test_builder2.rb
151
- - test/test_builder.rb
152
- - test/test_file_dataset_registry.rb
153
- - test/test_football_dataset.rb
154
- - test/test_file_worker.rb
127
+ test_files: []
data/.gemtest DELETED
File without changes
@@ -1,90 +0,0 @@
1
- # encoding: utf-8
2
-
3
- module Datafile
4
-
5
-
6
- ###
7
- ## check/todo: rename to BatchBuilder, MultiBuilder,etc - find better name - why, why not??
8
-
9
- class BuilderEx
10
-
11
- def self.load_file( path )
12
- code = File.read_utf8( path )
13
- self.load( code )
14
- end
15
-
16
- def self.load( code )
17
- builder = BuilderEx.new
18
- builder.instance_eval( code )
19
- builder
20
- end
21
-
22
-
23
- include LogUtils::Logging
24
-
25
- def initialize
26
- @datafiles = []
27
- @datafile = nil
28
- end
29
-
30
- attr_reader :datafiles
31
-
32
-
33
- def task( arg )
34
-
35
- logger.info( "[builder] add task '#{arg.inspect}' : #{arg.class.name}" )
36
-
37
- if arg.kind_of?( String ) || arg.kind_of?( Symbol ) # e.g. 'at' or :at
38
- name = arg.to_s
39
- ## note: always default to FileWorker for now
40
- ## -- use file: true -- find better name e.g. worker/source: file - why? why not??
41
- @datafile = Datafile.new( name: name, deps: [], file: true )
42
- yield ### execute block in context
43
- ## b = Builder.new
44
- ## block.call( b ) ## same as b.instance_eval( &block) ???
45
- ## b.instance_eval( code )
46
- ## b = Builder.load( &block )
47
- elsif arg.kind_of?( Hash ) ## Hash e.g. :at_calc => :at etc.
48
- key = arg.keys.first
49
- value = arg[key] ## todo: check if single value? always turn into array
50
-
51
- name = key.to_s ## get first key (assume it's name)
52
- if value.kind_of?( Array )
53
- deps = value.map { |v| v.to_s } ## convert to strings
54
- else ## assume single string/symbol -- convert to array
55
- deps = [value.to_s]
56
- end
57
- @datafile = Datafile.new( name: name, deps: deps, file: true ) ## note: always default to FileWorker for now
58
- yield ### execute block in context
59
- ## to be done
60
- else
61
- ## fix: report error: unknown type
62
- end
63
-
64
- @datafiles << @datafile
65
- end
66
-
67
- def calc( &block )
68
- logger.info( "[builder] add script calc-block" )
69
- @datafile.scripts << Script.new( block )
70
- end
71
-
72
- ################################
73
- # "classic/standard" datasets
74
- def beer( name, opts={} )
75
- logger.info( "[builder] add beer-dataset '#{name}'" )
76
- @datafile.datasets << BeerDataset.new( name, opts )
77
- end
78
-
79
- def football( name, opts={} )
80
- logger.info( "[builder] add football-dataset '#{name}'" )
81
- @datafile.datasets << FootballDataset.new( name, opts )
82
- end
83
-
84
- def world( name, opts={} )
85
- logger.info( "[builder] add world-dataset '#{name}'" )
86
- @datafile.datasets << WorldDataset.new( name, opts )
87
- end
88
-
89
- end # class Builder2
90
- end # module Datafile
@@ -1,40 +0,0 @@
1
- # encoding: utf-8
2
-
3
- module Datafile
4
-
5
- class Error < StandardError
6
- end
7
-
8
- ####
9
- # todo/check:
10
- # rename to DatasetNotFound or similar??
11
- # use "common" error class - why? why not?
12
- class DatasetNotFoundError < Error
13
- attr_reader :message
14
-
15
- def initialize( message )
16
- @message = message
17
- end
18
-
19
- def to_s
20
- "datset not found => #{@message}"
21
- end
22
- end
23
-
24
-
25
- class DatasetNode ### find a better name (e.g. DatasetWorker, DatasetBase, DatasetRef, DatasetWrapper ???) ???
26
-
27
- include LogUtils::Logging
28
-
29
- def initialize( dataset )
30
- @dataset = dataset
31
- end
32
-
33
- def name() @dataset.name; end
34
- def opts() @dataset.opts; end
35
- def setup() @dataset.setup; end
36
-
37
- end # class DatasetNode
38
-
39
-
40
- end # module Datafile
@@ -1,18 +0,0 @@
1
- # encoding: utf-8
2
-
3
- module Datafile
4
-
5
- class BeerZipDataset < ZipDataset
6
-
7
- def initialize( dataset )
8
- super( dataset )
9
- end
10
-
11
- def read
12
- logger.info( "read beer-dataset (zip) '#{name}', '#{setup}'" )
13
-
14
- BeerDb.read_setup_from_zip( local_zip_name, setup, local_zip_root )
15
- end
16
- end # class BeerZipDataset
17
-
18
- end # module Datafile
@@ -1,18 +0,0 @@
1
- # encoding: utf-8
2
-
3
- module Datafile
4
-
5
- class FootballZipDataset < ZipDataset
6
-
7
- def initialize( dataset )
8
- super( dataset )
9
- end
10
-
11
- def read
12
- logger.info( "read football-dataset (zip) '#{name}', '#{setup}'" )
13
-
14
- SportDb.read_setup_from_zip( local_zip_name, setup, local_zip_root )
15
- end
16
- end # class FootballZipDataset
17
-
18
- end # module Datafile
@@ -1,18 +0,0 @@
1
- # encoding: utf-8
2
-
3
- module Datafile
4
-
5
- class WorldZipDataset < ZipDataset
6
-
7
- def initialize( dataset )
8
- super( dataset )
9
- end
10
-
11
- def read
12
- logger.info( "read world-dataset (zip) '#{name}', '#{setup}'" )
13
-
14
- WorldDb.read_setup_from_zip( local_zip_name, setup, local_zip_root, { skip_tags: true } )
15
- end
16
- end # class WorldZipDataset
17
-
18
- end # module Datafile
@@ -1,51 +0,0 @@
1
-
2
- puts "[eval] self in top = #{self.class.name}"
3
-
4
- task :at => :importbuiltin do
5
- puts "[eval] self in data (enter) = #{self.class.name}"
6
- football 'at-austria'
7
- puts "[eval] self in data (leave) = #{self.class.name}"
8
- end
9
-
10
- task :at_2014_15 => :importbuiltin do
11
- football 'at-austria', setup: '2014-15'
12
- end
13
-
14
-
15
- task :at_recalc => :at do
16
- calc do
17
- [['at.2012/13'],
18
- ['at.2013/14'],
19
- ['at.2014/15', 'at.2.2014/15']].each do |event_key|
20
- recalc_standings( event_key, out_root: './build/at-autria' )
21
- end
22
- end
23
- end
24
-
25
- task :at_2014_15_recalc => :at_2014_15 do
26
- calc do
27
- recalc_standings( ['at.2014/15', 'at.2.2014/15'], out_root: './build/at-autria' )
28
- end
29
- end
30
-
31
-
32
- task :test_at_recalc => :env do
33
- calc do
34
- recalc_standings( ['at.2014/15', 'at.2.2014/15'], out_root: './build/at-autria' )
35
- ## debug verison - write to ./build/at-austria
36
- ## recalc_standings( ['at.2014/15', 'at.2.2014/15'], out_root: './build/at-austria' )
37
- end
38
- end
39
-
40
-
41
- ## check if method def works too
42
-
43
- puts "[eval] another self in top = #{self.class.name}"
44
-
45
-
46
- def test_hello()
47
- puts "[eval] self in method test_hello = #{self.class.name}"
48
- puts "hello from test_hello"
49
- end
50
-
51
- test_hello()