viddl-rb 1.0.8 → 1.0.9
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 +27 -27
- data/plugins/soundcloud.rb +14 -30
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: c8704c8fbe774beea79cf1d5042762011bf6d37f
|
|
4
|
+
data.tar.gz: 795aeeaa20ccb0c33d277f9ca33c66faceccfc2b
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: bbe705bc0ca0526eb287c4ed6373b0bf1f90a089f61e18f948f293456dd9ebf3e5252f0931cb568fd97758674fcf9026067bf7aacead722f31acdc9f1edb7eb4
|
|
7
|
+
data.tar.gz: 9dfbf373d14dfa40ed3b84c60502094bfeb33d805968570115bfbcd4a57ae096813e93b40bbc1ec061b50ed67dafdbb1fe3e110ea521a43fa30bae49f8fc3f0f
|
data/Gemfile.lock
CHANGED
|
@@ -1,31 +1,28 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
viddl-rb (1.0.
|
|
4
|
+
viddl-rb (1.0.1)
|
|
5
|
+
mime-types (~> 2.1.0)
|
|
5
6
|
multi_json (~> 1.10.0)
|
|
6
7
|
nokogiri (~> 1.6.0)
|
|
7
8
|
progressbar (~> 0.21)
|
|
8
|
-
rest-client
|
|
9
9
|
|
|
10
10
|
GEM
|
|
11
11
|
remote: http://rubygems.org/
|
|
12
12
|
specs:
|
|
13
13
|
ffi2-generators (0.1.1)
|
|
14
|
-
mime-types (2.
|
|
15
|
-
mini_portile (0.
|
|
16
|
-
minitest (5.
|
|
17
|
-
multi_json (1.10.
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
mini_portile (~> 0.6.0)
|
|
14
|
+
mime-types (2.1)
|
|
15
|
+
mini_portile (0.5.3)
|
|
16
|
+
minitest (5.2.2)
|
|
17
|
+
multi_json (1.10.0)
|
|
18
|
+
nokogiri (1.6.1)
|
|
19
|
+
mini_portile (~> 0.5.0)
|
|
21
20
|
progressbar (0.21.0)
|
|
22
|
-
racc (1.4.
|
|
21
|
+
racc (1.4.11)
|
|
23
22
|
rake (10.1.1)
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
netrc (~> 0.7)
|
|
28
|
-
rubysl (2.1.0)
|
|
23
|
+
rest-client (1.6.7)
|
|
24
|
+
mime-types (>= 1.16)
|
|
25
|
+
rubysl (2.0.15)
|
|
29
26
|
rubysl-abbrev (~> 2.0)
|
|
30
27
|
rubysl-base64 (~> 2.0)
|
|
31
28
|
rubysl-benchmark (~> 2.0)
|
|
@@ -59,7 +56,7 @@ GEM
|
|
|
59
56
|
rubysl-io-nonblock (~> 2.0)
|
|
60
57
|
rubysl-io-wait (~> 2.0)
|
|
61
58
|
rubysl-ipaddr (~> 2.0)
|
|
62
|
-
rubysl-irb (~> 2.
|
|
59
|
+
rubysl-irb (~> 2.0)
|
|
63
60
|
rubysl-logger (~> 2.0)
|
|
64
61
|
rubysl-mathn (~> 2.0)
|
|
65
62
|
rubysl-matrix (~> 2.0)
|
|
@@ -88,6 +85,7 @@ GEM
|
|
|
88
85
|
rubysl-pstore (~> 2.0)
|
|
89
86
|
rubysl-pty (~> 2.0)
|
|
90
87
|
rubysl-rational (~> 2.0)
|
|
88
|
+
rubysl-readline (~> 2.0)
|
|
91
89
|
rubysl-resolv (~> 2.0)
|
|
92
90
|
rubysl-rexml (~> 2.0)
|
|
93
91
|
rubysl-rinda (~> 2.0)
|
|
@@ -129,7 +127,7 @@ GEM
|
|
|
129
127
|
rubysl-csv (2.0.2)
|
|
130
128
|
rubysl-english (~> 2.0)
|
|
131
129
|
rubysl-curses (2.0.1)
|
|
132
|
-
rubysl-date (2.0.
|
|
130
|
+
rubysl-date (2.0.6)
|
|
133
131
|
rubysl-delegate (2.0.1)
|
|
134
132
|
rubysl-digest (2.0.3)
|
|
135
133
|
rubysl-drb (2.0.1)
|
|
@@ -154,12 +152,12 @@ GEM
|
|
|
154
152
|
rubysl-io-nonblock (2.0.0)
|
|
155
153
|
rubysl-io-wait (2.0.0)
|
|
156
154
|
rubysl-ipaddr (2.0.0)
|
|
157
|
-
rubysl-irb (2.
|
|
158
|
-
rb-readline (~> 0.5)
|
|
155
|
+
rubysl-irb (2.0.4)
|
|
159
156
|
rubysl-e2mmap (~> 2.0)
|
|
160
157
|
rubysl-mathn (~> 2.0)
|
|
158
|
+
rubysl-readline (~> 2.0)
|
|
161
159
|
rubysl-thread (~> 2.0)
|
|
162
|
-
rubysl-logger (2.
|
|
160
|
+
rubysl-logger (2.0.0)
|
|
163
161
|
rubysl-mathn (2.0.0)
|
|
164
162
|
rubysl-matrix (2.1.0)
|
|
165
163
|
rubysl-e2mmap (~> 2.0)
|
|
@@ -182,20 +180,21 @@ GEM
|
|
|
182
180
|
rubysl-observer (2.0.0)
|
|
183
181
|
rubysl-open-uri (2.0.0)
|
|
184
182
|
rubysl-open3 (2.0.0)
|
|
185
|
-
rubysl-openssl (2.
|
|
183
|
+
rubysl-openssl (2.1.0)
|
|
186
184
|
rubysl-optparse (2.0.1)
|
|
187
185
|
rubysl-shellwords (~> 2.0)
|
|
188
186
|
rubysl-ostruct (2.0.4)
|
|
189
|
-
rubysl-pathname (2.
|
|
190
|
-
rubysl-prettyprint (2.0.
|
|
187
|
+
rubysl-pathname (2.0.0)
|
|
188
|
+
rubysl-prettyprint (2.0.2)
|
|
191
189
|
rubysl-prime (2.0.1)
|
|
192
190
|
rubysl-profile (2.0.0)
|
|
193
191
|
rubysl-profiler (2.0.1)
|
|
194
192
|
rubysl-pstore (2.0.0)
|
|
195
193
|
rubysl-pty (2.0.2)
|
|
196
194
|
rubysl-rational (2.0.1)
|
|
197
|
-
rubysl-
|
|
198
|
-
rubysl-
|
|
195
|
+
rubysl-readline (2.0.2)
|
|
196
|
+
rubysl-resolv (2.0.0)
|
|
197
|
+
rubysl-rexml (2.0.2)
|
|
199
198
|
rubysl-rinda (2.0.1)
|
|
200
199
|
rubysl-rss (2.0.0)
|
|
201
200
|
rubysl-scanf (2.0.0)
|
|
@@ -207,14 +206,14 @@ GEM
|
|
|
207
206
|
rubysl-stringio (2.0.0)
|
|
208
207
|
rubysl-strscan (2.0.0)
|
|
209
208
|
rubysl-sync (2.0.0)
|
|
210
|
-
rubysl-syslog (2.1
|
|
209
|
+
rubysl-syslog (2.0.1)
|
|
211
210
|
ffi2-generators (~> 0.1)
|
|
212
211
|
rubysl-tempfile (2.0.1)
|
|
213
212
|
rubysl-thread (2.0.2)
|
|
214
213
|
rubysl-thwait (2.0.0)
|
|
215
214
|
rubysl-time (2.0.3)
|
|
216
215
|
rubysl-timeout (2.0.0)
|
|
217
|
-
rubysl-tmpdir (2.0.
|
|
216
|
+
rubysl-tmpdir (2.0.0)
|
|
218
217
|
rubysl-tsort (2.0.1)
|
|
219
218
|
rubysl-un (2.0.0)
|
|
220
219
|
rubysl-fileutils (~> 2.0)
|
|
@@ -233,5 +232,6 @@ DEPENDENCIES
|
|
|
233
232
|
minitest
|
|
234
233
|
racc
|
|
235
234
|
rake (~> 10.1.0)
|
|
235
|
+
rest-client (~> 1.6.7)
|
|
236
236
|
rubysl (~> 2.0)
|
|
237
237
|
viddl-rb!
|
data/plugins/soundcloud.rb
CHANGED
|
@@ -9,39 +9,23 @@ class Soundcloud < PluginBase
|
|
|
9
9
|
end
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
# return the url for original
|
|
12
|
+
# return the url for original audio file and title
|
|
13
13
|
def self.get_urls_and_filenames(url, options = {})
|
|
14
14
|
url_and_files = []
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
name: self.make_filename_safe(track_data['title'].to_s) + '.mp3'
|
|
30
|
-
}
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
# locate the controller script that contains all the tracks data
|
|
35
|
-
# this will work for either artist's or track's pages
|
|
36
|
-
doc.css('#main-content-inner .container + script').each do |container|
|
|
37
|
-
match = container.text.to_s.match(/\((\{.*\})\)/).to_a
|
|
38
|
-
track_data = JSON.parse(match[1])
|
|
39
|
-
|
|
40
|
-
file_url = track_data['streamUrl']
|
|
41
|
-
file_name = self.make_filename_safe(track_data['title'].to_s) + '.mp3'
|
|
42
|
-
|
|
43
|
-
url_and_files << {url: file_url, name: file_name}
|
|
44
|
-
end
|
|
16
|
+
track_id_url = "https://api.sndcdn.com/resolve?url=#{URI::encode(url)}&client_id=b45b1aa10f1ac2941910a7f0d10f8e28"
|
|
17
|
+
track_id_response = open(track_id_url, {ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE}).read
|
|
18
|
+
track_id_response_parsed = JSON.parse(track_id_response)
|
|
19
|
+
title = track_id_response_parsed['title']
|
|
20
|
+
track_id = track_id_response_parsed['id']
|
|
21
|
+
download_metadata_url = "https://api.sndcdn.com/i1/tracks/#{track_id}/streams?client_id=b45b1aa10f1ac2941910a7f0d10f8e28"
|
|
22
|
+
download_metadata_response = open(download_metadata_url, {ssl_verify_mode: OpenSSL::SSL::VERIFY_NONE}).read
|
|
23
|
+
download_url = JSON.parse(download_metadata_response)['http_mp3_128_url']
|
|
24
|
+
|
|
25
|
+
url_and_files << {
|
|
26
|
+
url: download_url,
|
|
27
|
+
name: self.make_filename_safe(title) + '.mp3'
|
|
28
|
+
}
|
|
45
29
|
|
|
46
30
|
url_and_files
|
|
47
31
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: viddl-rb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.9
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Marc Seeger
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2015-02-01 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: nokogiri
|
|
@@ -153,7 +153,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
153
153
|
version: 1.3.4
|
|
154
154
|
requirements: []
|
|
155
155
|
rubyforge_project: viddl-rb
|
|
156
|
-
rubygems_version: 2.4.
|
|
156
|
+
rubygems_version: 2.4.3
|
|
157
157
|
signing_key:
|
|
158
158
|
specification_version: 4
|
|
159
159
|
summary: An extendable commandline video downloader for flash video sites.
|