datapimp 1.0.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/.travis.yml +8 -0
- data/ROADMAP.md +23 -0
- data/Rakefile +2 -7
- data/bin/datapimp +3 -3
- data/datapimp.gemspec +5 -2
- data/lib/datapimp/cli/create.rb +0 -0
- data/lib/datapimp/cli/list.rb +17 -2
- data/lib/datapimp/clients/google.rb +5 -1
- data/lib/datapimp/version.rb +1 -1
- metadata +55 -10
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: db6b899afe30eba9db18f06a2c445e5b5dd16a16
|
4
|
+
data.tar.gz: a758f879ebfd9e41fc6375b8990316d42d6844aa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e6c06637c2e2827bf14c10ea8c9e8581f34fb015e8f765a0d3f4893ab4e83e853573eb61666988b5b6695fe81cc854feb312f369f4ab382fd47f1f2469027580
|
7
|
+
data.tar.gz: eecc04222a7dba9f464e8c0d79457e00c692e6f778e27447240ab21c2bb30c2ef7b7054f6d73d0a9e9bb9e9c3e6d44c535476bdb66d7cc01fe62da6388885180
|
data/.gitignore
CHANGED
data/.travis.yml
ADDED
data/ROADMAP.md
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
### Support For Additional Data Sources
|
2
|
+
|
3
|
+
- JSON API
|
4
|
+
|
5
|
+
```
|
6
|
+
datapimp sync data --type=json https://api.github.com/orgs/architects/repos
|
7
|
+
```
|
8
|
+
|
9
|
+
- NOKOGIRI
|
10
|
+
|
11
|
+
The nokogiri datatype should support using CSS selectors to extract
|
12
|
+
an array of key value pairs from a URL. For example, pulling all of the data
|
13
|
+
from the product hunt website:
|
14
|
+
|
15
|
+
http://www.producthunt.com
|
16
|
+
records=ul.posts-group li.post
|
17
|
+
record=TODO (figure out syntax mapping data to css selectors)
|
18
|
+
|
19
|
+
```
|
20
|
+
datapimp sync data --type=nokogiri http://www.producthunt.com --selectors=file
|
21
|
+
```
|
22
|
+
|
23
|
+
- Implement converting an XLSX document on Dropbox to JSON
|
data/Rakefile
CHANGED
@@ -12,13 +12,8 @@ Distribution.configure do |config|
|
|
12
12
|
config.rb_version = '20150210-2.1.5'
|
13
13
|
config.packaging_dir = File.expand_path 'packaging'
|
14
14
|
config.native_extensions = [
|
15
|
-
|
16
|
-
|
17
|
-
#'charlock_holmes-0.7.3',
|
18
|
-
#'posix-spawn-0.3.9',
|
19
|
-
#'nokogumbo-1.3.0',
|
20
|
-
#'rugged-0.21.4',
|
21
|
-
#'nokogiri-1.6.5',
|
15
|
+
'escape_utils-1.0.1',
|
16
|
+
'nokogiri-1.6.5',
|
22
17
|
]
|
23
18
|
end
|
24
19
|
|
data/bin/datapimp
CHANGED
@@ -12,7 +12,7 @@ require 'datapimp'
|
|
12
12
|
require 'datapimp/cli'
|
13
13
|
|
14
14
|
program :name, 'Datapimp'
|
15
|
-
program :version, Datapimp::VERSION
|
16
|
-
program :description, '
|
15
|
+
program :version, Datapimp::VERSION || "1.0.1"
|
16
|
+
program :description, 'command line utilities for pulling data off of services'
|
17
17
|
|
18
|
-
Datapimp::Cli.load_commands
|
18
|
+
Datapimp::Cli.load_commands()
|
data/datapimp.gemspec
CHANGED
@@ -18,11 +18,11 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
19
19
|
|
20
20
|
spec.add_dependency 'pry'
|
21
|
-
spec.add_dependency 'hashie'
|
21
|
+
spec.add_dependency 'hashie', '< 3.0'
|
22
22
|
spec.add_dependency 'colored'
|
23
23
|
spec.add_dependency 'commander'
|
24
24
|
spec.add_dependency 'fog-aws'
|
25
|
-
spec.add_dependency 'dropbox-api', '
|
25
|
+
spec.add_dependency 'dropbox-api', '>= 0.4.6'
|
26
26
|
spec.add_dependency 'google_drive'
|
27
27
|
spec.add_dependency 'rack-contrib'
|
28
28
|
spec.add_dependency 'uri_template'
|
@@ -32,6 +32,9 @@ Gem::Specification.new do |spec|
|
|
32
32
|
spec.add_dependency 'launchy'
|
33
33
|
spec.add_dependency 'oauth', '~> 0.4.7'
|
34
34
|
spec.add_dependency 'octokit', '>= 3.0.0'
|
35
|
+
spec.add_dependency 'activesupport', '>= 4.0.0'
|
36
|
+
spec.add_dependency 'nokogiri', '1.6.5'
|
37
|
+
spec.add_dependency 'github-fs'
|
35
38
|
|
36
39
|
spec.add_development_dependency "rake", '~> 0'
|
37
40
|
spec.add_development_dependency "rack-test", '~> 0'
|
File without changes
|
data/lib/datapimp/cli/list.rb
CHANGED
@@ -3,13 +3,28 @@ command "list spreadsheets" do |c|
|
|
3
3
|
c.description = "list the spreadsheets which can be used as datasources"
|
4
4
|
|
5
5
|
c.option '--type TYPE', String, "What type of source data is this? #{ Datapimp::Sync.data_source_types.join(", ") }"
|
6
|
+
c.option '--filter PATTERN', String, "Filter the titles by the specified pattern"
|
6
7
|
|
7
8
|
Datapimp::Cli.accepts_keys_for(c, :google, :dropbox)
|
8
9
|
|
9
10
|
c.action do |args, options|
|
10
|
-
|
11
|
-
|
11
|
+
puts "\nKey / Argument\t\tTitle"
|
12
|
+
puts "============\t\t==========="
|
13
|
+
lines = Datapimp::Sync.google.spreadsheets.map do |sheet|
|
14
|
+
"#{ sheet.key }\t\t#{ sheet.title }"
|
15
|
+
end
|
16
|
+
|
17
|
+
lines = lines.grep(/#{options.filter}/) if options.filter.to_s.length > 0
|
18
|
+
|
19
|
+
lines.each {|l| puts(l) }
|
20
|
+
|
21
|
+
if lines.length > 0
|
22
|
+
puts "\n\nExample:"
|
23
|
+
puts "====="
|
24
|
+
puts "datapimp sync data #{ lines.first.split(/\t/).first } --type google-spreadsheet"
|
25
|
+
puts "\n\n"
|
12
26
|
end
|
13
27
|
end
|
28
|
+
|
14
29
|
end
|
15
30
|
|
@@ -12,7 +12,11 @@ module Datapimp
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def self.client(options={})
|
15
|
-
|
15
|
+
unless defined?(::GoogleDrive)
|
16
|
+
require 'google_drive'
|
17
|
+
require 'google/api_client'
|
18
|
+
require 'google_drive/session'
|
19
|
+
end
|
16
20
|
|
17
21
|
@client ||= begin
|
18
22
|
instance.with_options(options)
|
data/lib/datapimp/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: datapimp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jonathan Soeder
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-03-
|
11
|
+
date: 2015-03-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: pry
|
@@ -28,16 +28,16 @@ dependencies:
|
|
28
28
|
name: hashie
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- - "
|
31
|
+
- - "<"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0'
|
33
|
+
version: '3.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: '3.0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: colored
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -84,16 +84,16 @@ dependencies:
|
|
84
84
|
name: dropbox-api
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: 0.4.
|
89
|
+
version: 0.4.6
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - "
|
94
|
+
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: 0.4.
|
96
|
+
version: 0.4.6
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: google_drive
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -220,6 +220,48 @@ dependencies:
|
|
220
220
|
- - ">="
|
221
221
|
- !ruby/object:Gem::Version
|
222
222
|
version: 3.0.0
|
223
|
+
- !ruby/object:Gem::Dependency
|
224
|
+
name: activesupport
|
225
|
+
requirement: !ruby/object:Gem::Requirement
|
226
|
+
requirements:
|
227
|
+
- - ">="
|
228
|
+
- !ruby/object:Gem::Version
|
229
|
+
version: 4.0.0
|
230
|
+
type: :runtime
|
231
|
+
prerelease: false
|
232
|
+
version_requirements: !ruby/object:Gem::Requirement
|
233
|
+
requirements:
|
234
|
+
- - ">="
|
235
|
+
- !ruby/object:Gem::Version
|
236
|
+
version: 4.0.0
|
237
|
+
- !ruby/object:Gem::Dependency
|
238
|
+
name: nokogiri
|
239
|
+
requirement: !ruby/object:Gem::Requirement
|
240
|
+
requirements:
|
241
|
+
- - '='
|
242
|
+
- !ruby/object:Gem::Version
|
243
|
+
version: 1.6.5
|
244
|
+
type: :runtime
|
245
|
+
prerelease: false
|
246
|
+
version_requirements: !ruby/object:Gem::Requirement
|
247
|
+
requirements:
|
248
|
+
- - '='
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: 1.6.5
|
251
|
+
- !ruby/object:Gem::Dependency
|
252
|
+
name: github-fs
|
253
|
+
requirement: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
255
|
+
- - ">="
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: '0'
|
258
|
+
type: :runtime
|
259
|
+
prerelease: false
|
260
|
+
version_requirements: !ruby/object:Gem::Requirement
|
261
|
+
requirements:
|
262
|
+
- - ">="
|
263
|
+
- !ruby/object:Gem::Version
|
264
|
+
version: '0'
|
223
265
|
- !ruby/object:Gem::Dependency
|
224
266
|
name: rake
|
225
267
|
requirement: !ruby/object:Gem::Requirement
|
@@ -285,10 +327,12 @@ extensions: []
|
|
285
327
|
extra_rdoc_files: []
|
286
328
|
files:
|
287
329
|
- ".gitignore"
|
330
|
+
- ".travis.yml"
|
288
331
|
- Gemfile
|
289
332
|
- Guardfile
|
290
333
|
- LICENSE.txt
|
291
334
|
- README.md
|
335
|
+
- ROADMAP.md
|
292
336
|
- Rakefile
|
293
337
|
- bin/datapimp
|
294
338
|
- datapimp.gemspec
|
@@ -296,6 +340,7 @@ files:
|
|
296
340
|
- lib/datapimp/cli.rb
|
297
341
|
- lib/datapimp/cli/01_extensions.rb
|
298
342
|
- lib/datapimp/cli/config.rb
|
343
|
+
- lib/datapimp/cli/create.rb
|
299
344
|
- lib/datapimp/cli/list.rb
|
300
345
|
- lib/datapimp/cli/setup.rb
|
301
346
|
- lib/datapimp/cli/support/data_sync.rb
|