datafile 0.3.1 → 0.3.2
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 +5 -5
- data/CHANGELOG.md +2 -0
- data/Manifest.txt +0 -8
- data/README.md +3 -3
- data/Rakefile +2 -2
- data/lib/datafile/builder.rb +1 -2
- data/lib/datafile/datafile.rb +1 -2
- data/lib/datafile/dataset.rb +1 -3
- data/lib/datafile/version.rb +3 -4
- data/lib/datafile/workers/file/dataset.rb +0 -1
- data/lib/datafile/workers/file/registry.rb +0 -1
- data/lib/datafile/workers/file/worker.rb +1 -1
- data/lib/datafile/workers/zip/dataset.rb +1 -2
- data/lib/datafile/workers/zip/worker.rb +1 -1
- data/lib/datafile.rb +11 -12
- metadata +18 -21
- data/test/datafile/eurocup.rb +0 -6
- data/test/datafile/stadiums.rb +0 -3
- data/test/datafile/world.rb +0 -3
- data/test/helper.rb +0 -12
- data/test/test_builder.rb +0 -45
- data/test/test_file_dataset_registry.rb +0 -26
- data/test/test_file_worker.rb +0 -40
- data/test/test_football_dataset.rb +0 -61
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 54d6b53158bb55adfd268f9c79935c64bc3fb03ab6d1418cc09bffb2ce64970e
|
4
|
+
data.tar.gz: 9a47519a90bef056b1a7a4d892f88f027bb277331708418d899178a931e823fa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7f87ecb6c27fc3c595dbd16281b496f92fa8174b5cbf2f710dd4c5d0778b09ca96388b85d2185db03b9a0e2279afed87be4149b6c027b4b4c6c7c8da0698b87a
|
7
|
+
data.tar.gz: 02af529638c97df49cf8bb1d6bd7cb68128a66c19c3b0c07b17d6f70ad319600cdd5f783580a4478203d1621285df52d22b5a9a1cfd1ded9da17e9c82315b046
|
data/CHANGELOG.md
CHANGED
data/Manifest.txt
CHANGED
@@ -13,11 +13,3 @@ lib/datafile/workers/file/registry.rb
|
|
13
13
|
lib/datafile/workers/file/worker.rb
|
14
14
|
lib/datafile/workers/zip/dataset.rb
|
15
15
|
lib/datafile/workers/zip/worker.rb
|
16
|
-
test/datafile/eurocup.rb
|
17
|
-
test/datafile/stadiums.rb
|
18
|
-
test/datafile/world.rb
|
19
|
-
test/helper.rb
|
20
|
-
test/test_builder.rb
|
21
|
-
test/test_file_dataset_registry.rb
|
22
|
-
test/test_file_worker.rb
|
23
|
-
test/test_football_dataset.rb
|
data/README.md
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
# datafile
|
2
2
|
|
3
|
-
datafile gem - builder for downloading n reading datasets
|
3
|
+
datafile gem - builder for downloading 'n' reading datasets
|
4
4
|
|
5
|
-
* home :: [github.com/
|
6
|
-
* bugs :: [github.com/
|
5
|
+
* home :: [github.com/rubycocos/datasets](https://github.com/rubycocos/datasets)
|
6
|
+
* bugs :: [github.com/rubycocos/datasets/issues](https://github.com/rubycocos/datasets/issues)
|
7
7
|
* gem :: [rubygems.org/gems/datafile](https://rubygems.org/gems/datafile)
|
8
8
|
* rdoc :: [rubydoc.info/gems/datafile](http://rubydoc.info/gems/datafile)
|
9
9
|
|
data/Rakefile
CHANGED
@@ -8,10 +8,10 @@ Hoe.spec 'datafile' do
|
|
8
8
|
self.summary = 'datafile - builder for downloading n reading datasets'
|
9
9
|
self.description = summary
|
10
10
|
|
11
|
-
self.urls =
|
11
|
+
self.urls = { home: 'https://github.com/rubycocos/datasets' }
|
12
12
|
|
13
13
|
self.author = 'Gerald Bauer'
|
14
|
-
self.email = '
|
14
|
+
self.email = 'gerald.bauer@gmail.com'
|
15
15
|
|
16
16
|
# switch extension to .markdown for gihub formatting
|
17
17
|
self.readme_file = 'README.md'
|
data/lib/datafile/builder.rb
CHANGED
@@ -1,11 +1,10 @@
|
|
1
|
-
# encoding: utf-8
|
2
1
|
|
3
2
|
module Datafile
|
4
3
|
|
5
4
|
class Builder ## "simple" builder (one file, one datafile)
|
6
5
|
|
7
6
|
def self.load_file( path )
|
8
|
-
code = File.open( path, 'r:utf-8' ).read
|
7
|
+
code = File.open( path, 'r:utf-8' ) {|f| f.read }
|
9
8
|
self.load( code )
|
10
9
|
end
|
11
10
|
|
data/lib/datafile/datafile.rb
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
# encoding: utf-8
|
2
1
|
|
3
2
|
module Datafile
|
4
3
|
|
@@ -7,7 +6,7 @@ class Datafile
|
|
7
6
|
|
8
7
|
## convenience method - use like Datafile.load_file()
|
9
8
|
def self.load_file( path='./Datafile' )
|
10
|
-
code = File.open( path, 'r:utf-8' ).read
|
9
|
+
code = File.open( path, 'r:utf-8' ) { |f| f.read }
|
11
10
|
self.load( code )
|
12
11
|
end
|
13
12
|
|
data/lib/datafile/dataset.rb
CHANGED
@@ -1,12 +1,10 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
1
|
|
4
2
|
############
|
5
3
|
# fix: move global method to ??
|
6
4
|
|
7
5
|
def read_known_datasets( path )
|
8
6
|
ary = []
|
9
|
-
lines = File.open( path, 'r:utf-8' ).read
|
7
|
+
lines = File.open( path, 'r:utf-8' ) {|f| f.read }
|
10
8
|
lines.each_line do |line|
|
11
9
|
## skip blank and comments lines
|
12
10
|
next if /^\s*#/ =~ line || /^\s*$/ =~ line
|
data/lib/datafile/version.rb
CHANGED
@@ -1,10 +1,9 @@
|
|
1
|
-
# encoding: utf-8
|
2
1
|
|
3
2
|
module Datafile
|
4
3
|
|
5
4
|
MAJOR = 0 ## todo: namespace inside version or something - why? why not??
|
6
5
|
MINOR = 3
|
7
|
-
PATCH =
|
6
|
+
PATCH = 2
|
8
7
|
VERSION = [MAJOR,MINOR,PATCH].join('.')
|
9
8
|
|
10
9
|
def self.version
|
@@ -12,11 +11,11 @@ module Datafile
|
|
12
11
|
end
|
13
12
|
|
14
13
|
def self.banner
|
15
|
-
"datafile/#{VERSION} on Ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}]"
|
14
|
+
"datafile/#{VERSION} on Ruby #{RUBY_VERSION} (#{RUBY_RELEASE_DATE}) [#{RUBY_PLATFORM}] in (#{root})"
|
16
15
|
end
|
17
16
|
|
18
17
|
def self.root
|
19
|
-
|
18
|
+
File.expand_path( File.dirname(File.dirname(File.dirname(__FILE__))) )
|
20
19
|
end
|
21
20
|
|
22
21
|
def self.data_path
|
@@ -1,4 +1,3 @@
|
|
1
|
-
# encoding: utf-8
|
2
1
|
|
3
2
|
module Datafile
|
4
3
|
|
@@ -72,7 +71,7 @@ private
|
|
72
71
|
|
73
72
|
## make sure dest path exists
|
74
73
|
dest_p = File.dirname( dest )
|
75
|
-
FileUtils.mkdir_p( dest_p ) unless File.
|
74
|
+
FileUtils.mkdir_p( dest_p ) unless File.exist?( dest_p ) ## use Dir.exist?? why? why not??
|
76
75
|
|
77
76
|
worker = Fetcher::Worker.new
|
78
77
|
worker.copy( url, dest )
|
data/lib/datafile.rb
CHANGED
@@ -1,11 +1,10 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
1
|
require 'logutils'
|
4
2
|
require 'fetcher' ## add (HTTP/S) download support (of blobs/binaries/zips)
|
5
3
|
|
6
4
|
|
7
5
|
# our own code
|
8
|
-
|
6
|
+
require_relative 'datafile/version' # let it always go first
|
7
|
+
|
9
8
|
|
10
9
|
|
11
10
|
module Datafile
|
@@ -31,19 +30,19 @@ module Datafile
|
|
31
30
|
end # module Datafile
|
32
31
|
|
33
32
|
|
34
|
-
|
35
|
-
|
33
|
+
require_relative 'datafile/dataset'
|
34
|
+
require_relative 'datafile/builder'
|
36
35
|
|
37
36
|
|
38
|
-
|
39
|
-
|
40
|
-
|
37
|
+
require_relative 'datafile/workers/file/registry'
|
38
|
+
require_relative 'datafile/workers/file/dataset'
|
39
|
+
require_relative 'datafile/workers/file/worker'
|
41
40
|
|
42
|
-
|
43
|
-
|
41
|
+
require_relative 'datafile/workers/zip/dataset'
|
42
|
+
require_relative 'datafile/workers/zip/worker'
|
44
43
|
|
45
|
-
|
44
|
+
require_relative 'datafile/datafile'
|
46
45
|
|
47
46
|
|
48
47
|
# say hello
|
49
|
-
puts Datafile.banner if defined?($RUBYCOCO_DEBUG) && $RUBYCOCO_DEBUG
|
48
|
+
puts Datafile.banner ## if defined?($RUBYCOCO_DEBUG) && $RUBYCOCO_DEBUG
|
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.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gerald Bauer
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-06-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: logutils
|
@@ -42,32 +42,38 @@ dependencies:
|
|
42
42
|
name: rdoc
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - "
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '4.0'
|
48
|
+
- - "<"
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: '7'
|
48
51
|
type: :development
|
49
52
|
prerelease: false
|
50
53
|
version_requirements: !ruby/object:Gem::Requirement
|
51
54
|
requirements:
|
52
|
-
- - "
|
55
|
+
- - ">="
|
53
56
|
- !ruby/object:Gem::Version
|
54
57
|
version: '4.0'
|
58
|
+
- - "<"
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: '7'
|
55
61
|
- !ruby/object:Gem::Dependency
|
56
62
|
name: hoe
|
57
63
|
requirement: !ruby/object:Gem::Requirement
|
58
64
|
requirements:
|
59
65
|
- - "~>"
|
60
66
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
67
|
+
version: '4.1'
|
62
68
|
type: :development
|
63
69
|
prerelease: false
|
64
70
|
version_requirements: !ruby/object:Gem::Requirement
|
65
71
|
requirements:
|
66
72
|
- - "~>"
|
67
73
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
74
|
+
version: '4.1'
|
69
75
|
description: datafile - builder for downloading n reading datasets
|
70
|
-
email:
|
76
|
+
email: gerald.bauer@gmail.com
|
71
77
|
executables: []
|
72
78
|
extensions: []
|
73
79
|
extra_rdoc_files:
|
@@ -90,19 +96,11 @@ files:
|
|
90
96
|
- lib/datafile/workers/file/worker.rb
|
91
97
|
- lib/datafile/workers/zip/dataset.rb
|
92
98
|
- lib/datafile/workers/zip/worker.rb
|
93
|
-
|
94
|
-
- test/datafile/stadiums.rb
|
95
|
-
- test/datafile/world.rb
|
96
|
-
- test/helper.rb
|
97
|
-
- test/test_builder.rb
|
98
|
-
- test/test_file_dataset_registry.rb
|
99
|
-
- test/test_file_worker.rb
|
100
|
-
- test/test_football_dataset.rb
|
101
|
-
homepage: https://github.com/rubylibs/datafile
|
99
|
+
homepage: https://github.com/rubycocos/datasets
|
102
100
|
licenses:
|
103
101
|
- Public Domain
|
104
102
|
metadata: {}
|
105
|
-
post_install_message:
|
103
|
+
post_install_message:
|
106
104
|
rdoc_options:
|
107
105
|
- "--main"
|
108
106
|
- README.md
|
@@ -119,9 +117,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
119
117
|
- !ruby/object:Gem::Version
|
120
118
|
version: '0'
|
121
119
|
requirements: []
|
122
|
-
|
123
|
-
|
124
|
-
signing_key:
|
120
|
+
rubygems_version: 3.4.10
|
121
|
+
signing_key:
|
125
122
|
specification_version: 4
|
126
123
|
summary: datafile - builder for downloading n reading datasets
|
127
124
|
test_files: []
|
data/test/datafile/eurocup.rb
DELETED
data/test/datafile/stadiums.rb
DELETED
data/test/datafile/world.rb
DELETED
data/test/helper.rb
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
|
2
|
-
## minitest setup
|
3
|
-
require 'minitest/autorun'
|
4
|
-
|
5
|
-
## deps
|
6
|
-
|
7
|
-
### require 'worlddb'
|
8
|
-
require 'sportdb/models' # note: will include worlddb
|
9
|
-
require 'sportdb/readers' ## pulls in SportDb::ZipPackage or SportDb::DirPackage
|
10
|
-
|
11
|
-
## our own code
|
12
|
-
require 'datafile'
|
data/test/test_builder.rb
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
###
|
4
|
-
# to run use
|
5
|
-
# ruby -I ./lib -I ./test test/test_builder.rb
|
6
|
-
|
7
|
-
|
8
|
-
require 'helper'
|
9
|
-
|
10
|
-
class TestBuilder < MiniTest::Test
|
11
|
-
|
12
|
-
def test_builder
|
13
|
-
code =<<TXT
|
14
|
-
## comments
|
15
|
-
|
16
|
-
world 'world.db', setup: 'countries'
|
17
|
-
|
18
|
-
football 'national-teams' ## NOTE: default is setup: 'all
|
19
|
-
|
20
|
-
### todo/fix: download archive only once(!!) even if included more than once
|
21
|
-
## football 'world-cup', setup: '2014_quali'
|
22
|
-
|
23
|
-
football 'world-cup', setup: '2014'
|
24
|
-
|
25
|
-
## more comments
|
26
|
-
|
27
|
-
TXT
|
28
|
-
|
29
|
-
builder = Datafile::Builder.load( code )
|
30
|
-
|
31
|
-
datafile = builder.datafile
|
32
|
-
## datafile.run
|
33
|
-
|
34
|
-
datafile.download
|
35
|
-
## datafile.read
|
36
|
-
datafile.dump
|
37
|
-
|
38
|
-
## change worker (defaults to ZipWorker)
|
39
|
-
datafile.worker = Datafile::FileWorker
|
40
|
-
datafile.dump
|
41
|
-
|
42
|
-
assert true # if we get here - test success
|
43
|
-
end
|
44
|
-
|
45
|
-
end # class TestBuilder
|
@@ -1,26 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
###
|
4
|
-
# to run use
|
5
|
-
# ruby -I ./lib -I ./test test/test_file_dataset_registry.rb
|
6
|
-
|
7
|
-
|
8
|
-
require 'helper'
|
9
|
-
|
10
|
-
class TestFileDatasetRegistry < MiniTest::Test
|
11
|
-
|
12
|
-
def test_lookup
|
13
|
-
registry = Datafile::FileDatasetRegistry.new
|
14
|
-
registry.merge( openfootball: '../../openfootball' )
|
15
|
-
|
16
|
-
assert_equal '../../openfootball/austria', registry.lookup( 'openfootball/austria')
|
17
|
-
assert_equal '../../openmundi/world.db', registry.lookup( 'openmundi/world.db' )
|
18
|
-
|
19
|
-
assert_equal '../../openfootball/austria', registry.lookup!( 'openfootball/austria')
|
20
|
-
assert_equal '../../openmundi/world.db', registry.lookup!( 'openmundi/world.db' )
|
21
|
-
|
22
|
-
assert_equal '../../openfootball/national-teams', registry.lookup( 'openfootball/national-teams')
|
23
|
-
assert_equal '../../openfootball/euro-cup', registry.lookup( 'openfootball/euro-cup' )
|
24
|
-
end
|
25
|
-
|
26
|
-
end # class TestFileDatasetRegistry
|
data/test/test_file_worker.rb
DELETED
@@ -1,40 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
###
|
4
|
-
# to run use
|
5
|
-
# ruby -I ./lib -I ./test test/test_file_worker.rb
|
6
|
-
|
7
|
-
|
8
|
-
require 'helper'
|
9
|
-
|
10
|
-
class TestFileWorker < MiniTest::Test
|
11
|
-
|
12
|
-
def test_eurocup
|
13
|
-
|
14
|
-
world_datafile = Datafile::Datafile.load_file( "#{Datafile.root}/test/datafile/world.rb" )
|
15
|
-
world_datafile.dump
|
16
|
-
|
17
|
-
eurocup_datafile = Datafile::Datafile.load_file( "#{Datafile.root}/test/datafile/eurocup.rb" )
|
18
|
-
eurocup_datafile.dump
|
19
|
-
|
20
|
-
# database setup 'n' config
|
21
|
-
ActiveRecord::Base.establish_connection( adapter: 'sqlite3',
|
22
|
-
database: ':memory:' )
|
23
|
-
SportDb.create_all
|
24
|
-
|
25
|
-
## change worker (defaults to ZipWorker)
|
26
|
-
world_datafile.worker = Datafile::FileWorker
|
27
|
-
world_datafile.dump
|
28
|
-
## world_datafile.read
|
29
|
-
|
30
|
-
registry = Datafile::FileDataset.registry
|
31
|
-
registry.merge( openfootball: '../../openfootball' )
|
32
|
-
|
33
|
-
eurocup_datafile.worker = Datafile::FileWorker
|
34
|
-
eurocup_datafile.dump
|
35
|
-
## eurocup_datafile.read
|
36
|
-
|
37
|
-
assert true # if we get here - test success
|
38
|
-
end
|
39
|
-
|
40
|
-
end # class TestFileWorker
|
@@ -1,61 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
###
|
4
|
-
# to run use
|
5
|
-
# ruby -I ./lib -I ./test test/test_football_dataset.rb
|
6
|
-
|
7
|
-
|
8
|
-
require 'helper'
|
9
|
-
|
10
|
-
class TestFootballDataset < MiniTest::Test
|
11
|
-
|
12
|
-
def test_names
|
13
|
-
pp FootballDataset.known_datasets
|
14
|
-
|
15
|
-
at = FootballDataset.new( 'austria' )
|
16
|
-
at2 = FootballDataset.new( 'openfootball/austria' )
|
17
|
-
xxx = FootballDataset.new( 'xxx' )
|
18
|
-
xxx2 = FootballDataset.new( 'openfootball/xxx' )
|
19
|
-
|
20
|
-
assert_equal 'openfootball/austria', at.name
|
21
|
-
assert_equal 'openfootball/austria', at2.name
|
22
|
-
|
23
|
-
assert_equal 'openfootball/xxx', xxx.name
|
24
|
-
assert_equal 'openfootball/xxx', xxx2.name
|
25
|
-
|
26
|
-
## check csv format
|
27
|
-
at = FootballDataset.new( 'austria', format: 'csv' )
|
28
|
-
at2 = FootballDataset.new( 'footballcsv/austria' )
|
29
|
-
|
30
|
-
assert_equal 'footballcsv/austria', at.name
|
31
|
-
assert_equal 'footballcsv/austria', at2.name
|
32
|
-
end
|
33
|
-
|
34
|
-
## move to test datasets - why, why not ??
|
35
|
-
def test_world
|
36
|
-
at = WorldDataset.new( 'austria.db' )
|
37
|
-
at2 = WorldDataset.new( 'openmundi/austria.db' )
|
38
|
-
xxx = WorldDataset.new( 'xxx' )
|
39
|
-
xxx2 = WorldDataset.new( 'openmundi/xxx' )
|
40
|
-
|
41
|
-
assert_equal 'openmundi/austria.db', at.name
|
42
|
-
assert_equal 'openmundi/austria.db', at2.name
|
43
|
-
|
44
|
-
assert_equal 'openmundi/xxx', xxx.name
|
45
|
-
assert_equal 'openmundi/xxx', xxx2.name
|
46
|
-
end
|
47
|
-
|
48
|
-
def test_beer
|
49
|
-
at = BeerDataset.new( 'austria' )
|
50
|
-
at2 = BeerDataset.new( 'openbeer/austria' )
|
51
|
-
xxx = BeerDataset.new( 'xxx' )
|
52
|
-
xxx2 = BeerDataset.new( 'openbeer/xxx' )
|
53
|
-
|
54
|
-
assert_equal 'openbeer/austria', at.name
|
55
|
-
assert_equal 'openbeer/austria', at2.name
|
56
|
-
|
57
|
-
assert_equal 'openbeer/xxx', xxx.name
|
58
|
-
assert_equal 'openbeer/xxx', xxx2.name
|
59
|
-
end
|
60
|
-
|
61
|
-
end # class TestFootballDataset
|