datapimp 1.0.1 → 1.0.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 +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
|