jetel 0.0.11 → 0.0.12
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/Gemfile.lock +5 -2
- data/jetel.gemspec +1 -0
- data/lib/jetel/downloaders/downloader.rb +1 -3
- data/lib/jetel/downloaders/downloaders.rb +11 -0
- data/lib/jetel/downloaders/ruby/ruby.rb +27 -2
- data/lib/jetel/helpers/os_helper.rb +19 -0
- data/lib/jetel/version.rb +1 -1
- metadata +22 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2d85a2b4a94f2f04b826ba3871f1f4945456e400
|
4
|
+
data.tar.gz: b6b901b2e38a830d0ffaaea41879627aaea8d6cb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f1d23cafd62f464268893fa0a5643f8ef44e7f5abe6fd4a99b2c74bc7a695c80fd32fae1ff562d5c71b556076baec3eca7d556b7f3bcaa9c70b30db71077711b
|
7
|
+
data.tar.gz: d80f7a4cc858c7c67954ffe03294e5efa9ae28237a909604f42b7e01ebc84c2a639db72ac3cdbce714a61239470196b5946414e3827670a9d2e1cf24420ca05f
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
jetel (0.0.
|
4
|
+
jetel (0.0.12)
|
5
5
|
activesupport
|
6
6
|
aws-sdk (~> 2)
|
7
7
|
couchbase (~> 1.3, >= 1.3.14)
|
@@ -14,6 +14,7 @@ PATH
|
|
14
14
|
nokogiri
|
15
15
|
pg
|
16
16
|
pmap
|
17
|
+
rest_client (~> 1.8, >= 1.8.3)
|
17
18
|
rubyzip
|
18
19
|
terminal-table
|
19
20
|
yajl-ruby (~> 1.2, >= 1.2.1)
|
@@ -82,7 +83,7 @@ GEM
|
|
82
83
|
minitest (5.8.2)
|
83
84
|
multi_json (1.11.2)
|
84
85
|
multipart-post (2.0.0)
|
85
|
-
netrc (0.
|
86
|
+
netrc (0.7.9)
|
86
87
|
nokogiri (1.6.6.2)
|
87
88
|
mini_portile (~> 0.6.0)
|
88
89
|
parser (2.2.3.0)
|
@@ -96,6 +97,8 @@ GEM
|
|
96
97
|
http-cookie (>= 1.0.2, < 2.0)
|
97
98
|
mime-types (>= 1.16, < 3.0)
|
98
99
|
netrc (~> 0.7)
|
100
|
+
rest_client (1.8.3)
|
101
|
+
netrc (~> 0.7.7)
|
99
102
|
rspec (3.3.0)
|
100
103
|
rspec-core (~> 3.3.0)
|
101
104
|
rspec-expectations (~> 3.3.0)
|
data/jetel.gemspec
CHANGED
@@ -31,6 +31,7 @@ Gem::Specification.new do |spec|
|
|
31
31
|
spec.add_dependency 'nokogiri'
|
32
32
|
spec.add_dependency 'pg'
|
33
33
|
spec.add_dependency 'pmap'
|
34
|
+
spec.add_dependency 'rest_client', '~> 1.8', '>= 1.8.3'
|
34
35
|
spec.add_dependency 'rubyzip'
|
35
36
|
spec.add_dependency 'terminal-table'
|
36
37
|
spec.add_dependency 'yajl-ruby', '~> 1.2', '>= 1.2.1'
|
@@ -1,13 +1,11 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
|
-
require_relative 'downloaders'
|
4
|
-
|
5
3
|
module Jetel
|
6
4
|
class Downloader
|
7
5
|
attr_reader :downloader
|
8
6
|
|
9
7
|
def initialize
|
10
|
-
@downloader = Downloaders
|
8
|
+
@downloader = Downloaders.choose_downloader.new
|
11
9
|
end
|
12
10
|
|
13
11
|
def download(file, opts = {})
|
@@ -1,5 +1,8 @@
|
|
1
1
|
require 'active_support/inflector'
|
2
|
+
require_relative 'downloaders'
|
3
|
+
|
2
4
|
require_relative '../extensions/extensions'
|
5
|
+
require_relative '../helpers/helpers'
|
3
6
|
|
4
7
|
module Jetel
|
5
8
|
module Downloaders
|
@@ -37,6 +40,14 @@ module Jetel
|
|
37
40
|
# Remove nil values and return
|
38
41
|
res.compact
|
39
42
|
end
|
43
|
+
|
44
|
+
def choose_downloader
|
45
|
+
if Helper.which('aria2c')
|
46
|
+
return Downloaders::Aria
|
47
|
+
end
|
48
|
+
|
49
|
+
Downloaders::Ruby
|
50
|
+
end
|
40
51
|
end
|
41
52
|
end
|
42
53
|
end
|
@@ -1,6 +1,8 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
|
3
|
-
require '
|
3
|
+
require 'rest-client'
|
4
|
+
|
5
|
+
require_relative '../../version.rb'
|
4
6
|
|
5
7
|
require_relative '../base_downloader'
|
6
8
|
|
@@ -10,7 +12,30 @@ module Jetel
|
|
10
12
|
def download(url, opts = BaseDownloader::OPTS_DOWNLOAD)
|
11
13
|
super
|
12
14
|
|
13
|
-
|
15
|
+
raw = {
|
16
|
+
:headers => {
|
17
|
+
:user_agent => "jetel/#{Jetel::VERSION}"
|
18
|
+
},
|
19
|
+
:method => :get,
|
20
|
+
:url => url,
|
21
|
+
# TODO: Load from config, param or so
|
22
|
+
:verify_ssl => false
|
23
|
+
}
|
24
|
+
|
25
|
+
FileUtils.mkdir_p(opts[:dir])
|
26
|
+
|
27
|
+
filename = opts[:filename] || url.split('/').last
|
28
|
+
|
29
|
+
out_full_path = File.join(opts[:dir], filename)
|
30
|
+
|
31
|
+
File.open(out_full_path, 'w') do |file|
|
32
|
+
RestClient::Request.execute(raw) do |chunk, _x, response|
|
33
|
+
if response.code.to_s != '200'
|
34
|
+
fail ArgumentError, "Error downloading #{url}. Got response: #{response.code} #{response} #{response.body}"
|
35
|
+
end
|
36
|
+
file.write chunk
|
37
|
+
end
|
38
|
+
end
|
14
39
|
end
|
15
40
|
end
|
16
41
|
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module Jetel
|
2
|
+
module Helper
|
3
|
+
class << self
|
4
|
+
# Cross-platform way of finding an executable in the $PATH.
|
5
|
+
#
|
6
|
+
# which('ruby') #=> /usr/bin/ruby
|
7
|
+
def which(cmd)
|
8
|
+
exts = ENV['PATHEXT'] ? ENV['PATHEXT'].split(';') : ['']
|
9
|
+
ENV['PATH'].split(File::PATH_SEPARATOR).each do |path|
|
10
|
+
exts.each { |ext|
|
11
|
+
exe = File.join(path, "#{cmd}#{ext}")
|
12
|
+
return exe if File.executable?(exe) && !File.directory?(exe)
|
13
|
+
}
|
14
|
+
end
|
15
|
+
return nil
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
data/lib/jetel/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jetel
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tomas Korcak
|
@@ -196,6 +196,26 @@ dependencies:
|
|
196
196
|
- - ">="
|
197
197
|
- !ruby/object:Gem::Version
|
198
198
|
version: '0'
|
199
|
+
- !ruby/object:Gem::Dependency
|
200
|
+
name: rest_client
|
201
|
+
requirement: !ruby/object:Gem::Requirement
|
202
|
+
requirements:
|
203
|
+
- - "~>"
|
204
|
+
- !ruby/object:Gem::Version
|
205
|
+
version: '1.8'
|
206
|
+
- - ">="
|
207
|
+
- !ruby/object:Gem::Version
|
208
|
+
version: 1.8.3
|
209
|
+
type: :runtime
|
210
|
+
prerelease: false
|
211
|
+
version_requirements: !ruby/object:Gem::Requirement
|
212
|
+
requirements:
|
213
|
+
- - "~>"
|
214
|
+
- !ruby/object:Gem::Version
|
215
|
+
version: '1.8'
|
216
|
+
- - ">="
|
217
|
+
- !ruby/object:Gem::Version
|
218
|
+
version: 1.8.3
|
199
219
|
- !ruby/object:Gem::Dependency
|
200
220
|
name: rubyzip
|
201
221
|
requirement: !ruby/object:Gem::Requirement
|
@@ -389,6 +409,7 @@ files:
|
|
389
409
|
- lib/jetel/extensions/kernel.rb
|
390
410
|
- lib/jetel/helpers/general_helper.rb
|
391
411
|
- lib/jetel/helpers/helpers.rb
|
412
|
+
- lib/jetel/helpers/os_helper.rb
|
392
413
|
- lib/jetel/lib.rb
|
393
414
|
- lib/jetel/loaders/couchbase/couchbase.rb
|
394
415
|
- lib/jetel/loaders/elasticsearch/elasticsearch.rb
|