get_them_all 1.1.1 → 1.1.2

Sign up to get free protection for your applications and to get access to all the features.
data/get_them_all.gemspec CHANGED
@@ -23,6 +23,6 @@ Gem::Specification.new do |s|
23
23
  s.add_runtime_dependency 'i18n'
24
24
  s.add_runtime_dependency 'activesupport', '~> 3.1.0'
25
25
  # s.add_runtime_dependency 'therubyracer', '~> 0.9.8'
26
- s.add_runtime_dependency 'dropbox'
26
+ s.add_runtime_dependency 'dropbox-api'
27
27
  s.add_runtime_dependency 'girl_friday'
28
28
  end
@@ -62,6 +62,10 @@ module GetThemAll
62
62
  register_handler('action.download.skipped') do |name, worker, action|
63
63
  log("url Skipped: #{action.url}")
64
64
  end
65
+
66
+ register_handler('action.download.failure') do |name, worker, action|
67
+ log("Failed to download file: #{action.url} from: #{action.parent_url}")
68
+ end
65
69
 
66
70
  register_handler('action.download.success') do |name, worker, action, destpath|
67
71
  @download_files += 1
@@ -1,5 +1,4 @@
1
- require 'stringio'
2
- require 'dropbox'
1
+ require 'dropbox-api'
3
2
  require 'girl_friday'
4
3
 
5
4
  module GetThemAll
@@ -15,18 +14,16 @@ module GetThemAll
15
14
  #
16
15
  def initialize(options = {})
17
16
  super
18
-
19
- session_data = options.delete(:session)
20
- raise "session missing" unless session_data
21
17
 
22
18
  # default to 30s timeout
23
19
  @timeout = options.delete(:timeout) || 30
24
-
25
- consumer_key, consumer_secret, authorized, token, token_secret, ssl, mode = session_data
26
-
27
- @session = Dropbox::Session.new(consumer_key, consumer_secret, :ssl => ssl, :already_authorized => authorized)
28
- @session.set_access_token(token, token_secret)
29
- @session.mode = mode.to_sym
20
+
21
+ Dropbox::API::Config.app_key = options.delete(:app_key)
22
+ Dropbox::API::Config.app_secret = options.delete(:app_secret)
23
+ @client = Dropbox::API::Client.new(
24
+ :token => options.delete(:token),
25
+ :secret => options.delete(:secret)
26
+ )
30
27
 
31
28
  @queue = GirlFriday::WorkQueue.new(:dropbox_upload, :size => 1) do |msg|
32
29
  # puts "Uploading file #{msg[:path]}..."
@@ -54,14 +51,14 @@ module GetThemAll
54
51
  def exist?(path)
55
52
  destpath = build_destpath(path)
56
53
 
57
- metadata = @session.metadata(destpath)
58
- if metadata.respond_to?(:is_deleted) && metadata.is_deleted
54
+ f = @client.find(destpath)
55
+ if f.is_deleted
59
56
  false
60
57
  else
61
58
  true
62
59
  end
63
60
 
64
- rescue Dropbox::FileNotFoundError
61
+ rescue Dropbox::API::Error::NotFound
65
62
  false
66
63
  rescue => err
67
64
  show_error(err)
@@ -80,10 +77,10 @@ module GetThemAll
80
77
  @queue.push(:path => path, :data => data, :deferrable => deferrable)
81
78
  else
82
79
  deferrable.timeout(@timeout)
83
-
80
+
84
81
  destpath = build_destpath(path)
85
- filename, dirname = File.basename(destpath), File.dirname(destpath)
86
- @session.upload(StringIO.new(data), dirname, :as => filename)
82
+ @client.upload(destpath, data)
83
+
87
84
  EM::next_tick{ deferrable.succeed }
88
85
  end
89
86
 
@@ -107,11 +104,20 @@ module GetThemAll
107
104
  #
108
105
  def read(path)
109
106
  destpath = build_destpath(path)
110
- @session.download(destpath)
107
+ @client.download(destpath)
111
108
  rescue => err
112
109
  show_error(err)
113
110
  raise ReadError, "cannot read file: #{err}"
114
111
  end
115
-
112
+ private
113
+ def build_destpath(path)
114
+ ret = super
115
+ if ret[0] == '/'
116
+ ret[1..-1]
117
+ else
118
+ ret
119
+ end
120
+ end
121
+
116
122
  end
117
123
  end
@@ -1,3 +1,3 @@
1
1
  module GetThemAll
2
- VERSION = "1.1.1"
2
+ VERSION = "1.1.2"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: get_them_all
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.1
4
+ version: 1.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-10-29 00:00:00.000000000Z
12
+ date: 2012-07-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: thor
16
- requirement: &70173827072780 !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,15 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70173827072780
24
+ version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ! '>='
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
25
30
  - !ruby/object:Gem::Dependency
26
31
  name: em-http-request
27
- requirement: &70173827072240 !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
28
33
  none: false
29
34
  requirements:
30
35
  - - ~>
@@ -32,10 +37,15 @@ dependencies:
32
37
  version: 1.0.0
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *70173827072240
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 1.0.0
36
46
  - !ruby/object:Gem::Dependency
37
47
  name: em-priority-queue
38
- requirement: &70173827071420 !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
39
49
  none: false
40
50
  requirements:
41
51
  - - ~>
@@ -43,10 +53,15 @@ dependencies:
43
53
  version: 0.0.2
44
54
  type: :runtime
45
55
  prerelease: false
46
- version_requirements: *70173827071420
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 0.0.2
47
62
  - !ruby/object:Gem::Dependency
48
63
  name: hpricot
49
- requirement: &70173827070560 !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
50
65
  none: false
51
66
  requirements:
52
67
  - - ~>
@@ -54,10 +69,15 @@ dependencies:
54
69
  version: 0.8.1
55
70
  type: :runtime
56
71
  prerelease: false
57
- version_requirements: *70173827070560
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 0.8.1
58
78
  - !ruby/object:Gem::Dependency
59
79
  name: i18n
60
- requirement: &70173827069940 !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
61
81
  none: false
62
82
  requirements:
63
83
  - - ! '>='
@@ -65,10 +85,15 @@ dependencies:
65
85
  version: '0'
66
86
  type: :runtime
67
87
  prerelease: false
68
- version_requirements: *70173827069940
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
69
94
  - !ruby/object:Gem::Dependency
70
95
  name: activesupport
71
- requirement: &70173827069080 !ruby/object:Gem::Requirement
96
+ requirement: !ruby/object:Gem::Requirement
72
97
  none: false
73
98
  requirements:
74
99
  - - ~>
@@ -76,10 +101,15 @@ dependencies:
76
101
  version: 3.1.0
77
102
  type: :runtime
78
103
  prerelease: false
79
- version_requirements: *70173827069080
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: 3.1.0
80
110
  - !ruby/object:Gem::Dependency
81
- name: dropbox
82
- requirement: &70173827068540 !ruby/object:Gem::Requirement
111
+ name: dropbox-api
112
+ requirement: !ruby/object:Gem::Requirement
83
113
  none: false
84
114
  requirements:
85
115
  - - ! '>='
@@ -87,10 +117,15 @@ dependencies:
87
117
  version: '0'
88
118
  type: :runtime
89
119
  prerelease: false
90
- version_requirements: *70173827068540
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ none: false
122
+ requirements:
123
+ - - ! '>='
124
+ - !ruby/object:Gem::Version
125
+ version: '0'
91
126
  - !ruby/object:Gem::Dependency
92
127
  name: girl_friday
93
- requirement: &70173827067900 !ruby/object:Gem::Requirement
128
+ requirement: !ruby/object:Gem::Requirement
94
129
  none: false
95
130
  requirements:
96
131
  - - ! '>='
@@ -98,7 +133,12 @@ dependencies:
98
133
  version: '0'
99
134
  type: :runtime
100
135
  prerelease: false
101
- version_requirements: *70173827067900
136
+ version_requirements: !ruby/object:Gem::Requirement
137
+ none: false
138
+ requirements:
139
+ - - ! '>='
140
+ - !ruby/object:Gem::Version
141
+ version: '0'
102
142
  description: Mass downloader useable as standalone or as a library
103
143
  email: []
104
144
  executables:
@@ -142,7 +182,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
142
182
  version: '0'
143
183
  segments:
144
184
  - 0
145
- hash: -2468731272085884149
185
+ hash: 1282639448533275158
146
186
  required_rubygems_version: !ruby/object:Gem::Requirement
147
187
  none: false
148
188
  requirements:
@@ -151,10 +191,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
151
191
  version: '0'
152
192
  segments:
153
193
  - 0
154
- hash: -2468731272085884149
194
+ hash: 1282639448533275158
155
195
  requirements: []
156
196
  rubyforge_project: get_them_all
157
- rubygems_version: 1.8.11
197
+ rubygems_version: 1.8.24
158
198
  signing_key:
159
199
  specification_version: 3
160
200
  summary: Mass downloader