datahunter 0.0.5 → 0.1.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/README.md +3 -1
- data/Rakefile +8 -0
- data/bin/hunter +8 -1
- data/datahunter.gemspec +3 -1
- data/lib/datahunter/base.rb +29 -0
- data/lib/datahunter/version.rb +1 -1
- data/spec/datahunter_spec.rb +15 -0
- data/spec/spec_helper.rb +1 -0
- metadata +35 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f72e1cf6090108c35f52ab1fea70c16ba583824a
|
4
|
+
data.tar.gz: e102154ee89785deb91b5cd9416c36d51a1d59fc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 491133c7dcb9baa827491874484f7754f2c497a9d3c51a23175141cc9eac80de756d11f3254db33442ac25c81630754c51b32a8d360150e400552b71b830777b
|
7
|
+
data.tar.gz: c9bf04c8859e107656f2b3071961f527b27ee99e7eccbb9977209a2e36b1537e44f955f77cb44f461c8f35117adecf7cb15e20fa371534f36e401fe9ab404f76
|
data/README.md
CHANGED
@@ -4,6 +4,8 @@
|
|
4
4
|
|
5
5
|
## Hunter
|
6
6
|
|
7
|
+
[](http://badge.fury.io/rb/datahunter) [](https://travis-ci.org/NTerpo/datahunter)
|
8
|
+
|
7
9
|
We believe there will be more and more data available on the web and the main issue will be to find them and to manage each sources. So we try to do it for you: not by pre-processing them but by orienting you.
|
8
10
|
|
9
11
|
|
@@ -62,7 +64,7 @@ Don't hesitate to [give us any feedback about you experience with Hunter!](https
|
|
62
64
|
## Roadmap
|
63
65
|
|
64
66
|
* more datasets
|
65
|
-
* download datasets from the terminal
|
67
|
+
* download datasets from the terminal (very soon :) )
|
66
68
|
* more generic lib to make the API more easy to reuse
|
67
69
|
|
68
70
|
## Contributing
|
data/Rakefile
CHANGED
@@ -1,2 +1,10 @@
|
|
1
1
|
require "bundler/gem_tasks"
|
2
|
+
require 'rspec/core/rake_task'
|
2
3
|
|
4
|
+
# Default directory to look in is `/specs`
|
5
|
+
# Run with `rake spec`
|
6
|
+
RSpec::Core::RakeTask.new(:spec) do |task|
|
7
|
+
task.rspec_opts = ['--color', '--format documentation']
|
8
|
+
end
|
9
|
+
|
10
|
+
task :default => :spec
|
data/bin/hunter
CHANGED
@@ -7,6 +7,7 @@ require 'commander/import'
|
|
7
7
|
require 'rest_client'
|
8
8
|
require 'launchy'
|
9
9
|
require 'colorize'
|
10
|
+
require 'downloadr'
|
10
11
|
|
11
12
|
program :version, Datahunter::VERSION
|
12
13
|
program :description, 'Find Open Data directly from your terminal'
|
@@ -47,8 +48,14 @@ command :find do |c|
|
|
47
48
|
|
48
49
|
case ask "### get the data? (y/n)".colorize(:yellow)
|
49
50
|
when 'y'
|
50
|
-
|
51
|
+
if datasets[index]["resources"].any?
|
52
|
+
Datahunter.download_the_data datasets[index]
|
53
|
+
else
|
54
|
+
puts "You can't download this dataset directly, but you should from there"
|
55
|
+
Launchy.open(datasets[index]["uri"], options = {})
|
56
|
+
end
|
51
57
|
break
|
58
|
+
|
52
59
|
else # When no
|
53
60
|
if index == 2
|
54
61
|
puts ("You may want to try: ".colorize(:red) + "'$ hunter search #{args[0].downcase}'".colorize(:blue))
|
data/datahunter.gemspec
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
# coding: utf-8
|
2
1
|
lib = File.expand_path('../lib', __FILE__)
|
3
2
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
3
|
require 'datahunter/version'
|
@@ -16,16 +15,19 @@ Gem::Specification.new do |spec|
|
|
16
15
|
spec.files = `git ls-files -z`.split("\x0")
|
17
16
|
spec.files.reject! { |fn| fn.include? "gif" }
|
18
17
|
spec.files.reject! { |fn| fn.include? "logo" }
|
18
|
+
spec.files.reject! { |fn| fn.include? "travis" }
|
19
19
|
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
20
20
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
21
21
|
spec.require_paths = ["lib"]
|
22
22
|
|
23
23
|
spec.add_development_dependency "bundler", "~> 1.7"
|
24
24
|
spec.add_development_dependency "rake", "~> 10.0"
|
25
|
+
spec.add_development_dependency "rspec"
|
25
26
|
|
26
27
|
spec.add_runtime_dependency "json", "~> 1.8.1"
|
27
28
|
spec.add_runtime_dependency "commander", "~> 4.2.1"
|
28
29
|
spec.add_runtime_dependency "rest_client", "~> 1.8.2"
|
29
30
|
spec.add_runtime_dependency "launchy", "~> 2.4.3"
|
30
31
|
spec.add_runtime_dependency "colorize", "~> 0.7.3"
|
32
|
+
spec.add_runtime_dependency "downloadr", "0.0.41"
|
31
33
|
end
|
data/lib/datahunter/base.rb
CHANGED
@@ -1,7 +1,11 @@
|
|
1
1
|
require 'colorize'
|
2
2
|
require 'launchy'
|
3
|
+
require 'downloadr'
|
4
|
+
require 'addressable/uri'
|
3
5
|
|
4
6
|
module Datahunter
|
7
|
+
|
8
|
+
# DATASETS_URL = "http://localhost:3000/api/datasets/"
|
5
9
|
DATASETS_URL = "http://shrouded-harbor-5877.herokuapp.com/api/datasets/"
|
6
10
|
FEEDBACK_URL = "https://docs.google.com/forms/d/1yNzZjCCXvWHQCbWz4sx-nui3LafeeLcT7FF9T-vbKvw/viewform"
|
7
11
|
|
@@ -31,6 +35,31 @@ module Datahunter
|
|
31
35
|
puts ("score: ".colorize(:green) + "#{dataset["huntscore"]}")
|
32
36
|
puts
|
33
37
|
end
|
38
|
+
|
39
|
+
def self.print_downloadable_links dataset
|
40
|
+
dataset["resources"].each_with_index do |dl, i|
|
41
|
+
puts ("#{i}. ".colorize(:yellow) +
|
42
|
+
"#{dl["title"]} - ".colorize(:blue) +
|
43
|
+
"#{dl["format"]}".colorize(:green))
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
def self.download_file url
|
48
|
+
puts "Start downloading..."
|
49
|
+
Downloadr::HTTP.download(url)
|
50
|
+
puts "Your file has been downloaded, try to $ ls ;D".colorize(:green)
|
51
|
+
end
|
52
|
+
|
53
|
+
def self.download_the_data dataset
|
54
|
+
print_downloadable_links dataset
|
55
|
+
dl = ask "### which one? (0/1/...)".colorize(:yellow)
|
56
|
+
dl = dl.to_i
|
57
|
+
if dataset["resources"][dl]["format"] == "HTML"
|
58
|
+
Launchy.open(dataset["resources"][dl]["url"], options = {})
|
59
|
+
else
|
60
|
+
download_file dataset["resources"][dl]["url"]
|
61
|
+
end
|
62
|
+
end
|
34
63
|
|
35
64
|
def self.print_feedback_request
|
36
65
|
case ask "### give feedback? (y/n)".colorize(:yellow)
|
data/lib/datahunter/version.rb
CHANGED
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe "Datahunter Base" do
|
4
|
+
|
5
|
+
before(:each) do
|
6
|
+
DATASETS_URL = "http://shrouded-harbor-5877.herokuapp.com/api/datasets/"
|
7
|
+
end
|
8
|
+
|
9
|
+
describe 'create correct datasets_url' do
|
10
|
+
it 'should return a correct url' do
|
11
|
+
url = Datahunter.datasets_url("population", "france", "2010")
|
12
|
+
expect(url).to eq("#{DATASETS_URL}?tags=population&spatial=france&temporal=2010")
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
require 'datahunter'
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: datahunter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0
|
4
|
+
version: 0.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Terpo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-12-
|
11
|
+
date: 2014-12-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '10.0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rspec
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: json
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -108,6 +122,20 @@ dependencies:
|
|
108
122
|
- - "~>"
|
109
123
|
- !ruby/object:Gem::Version
|
110
124
|
version: 0.7.3
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: downloadr
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - '='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 0.0.41
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - '='
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 0.0.41
|
111
139
|
description: Command line interface to find open datasets via the Hunter API
|
112
140
|
email:
|
113
141
|
- nicolas.terpolilli@gmail.com
|
@@ -128,6 +156,8 @@ files:
|
|
128
156
|
- lib/datahunter.rb
|
129
157
|
- lib/datahunter/base.rb
|
130
158
|
- lib/datahunter/version.rb
|
159
|
+
- spec/datahunter_spec.rb
|
160
|
+
- spec/spec_helper.rb
|
131
161
|
homepage: https://github.com/NTerpo/datahunter
|
132
162
|
licenses:
|
133
163
|
- MIT
|
@@ -152,4 +182,6 @@ rubygems_version: 2.4.5
|
|
152
182
|
signing_key:
|
153
183
|
specification_version: 4
|
154
184
|
summary: A Command Line Interface to find Open Datasets
|
155
|
-
test_files:
|
185
|
+
test_files:
|
186
|
+
- spec/datahunter_spec.rb
|
187
|
+
- spec/spec_helper.rb
|