rget 4.6.0 → 4.6.1
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/README.md +22 -21
- data/lib/freshlive.rb +28 -10
- data/rget.gemspec +2 -2
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8724d5e9d9cc41ac88e02daadf6beea6ddca2040b676f09a9d1a9be06792bed8
|
4
|
+
data.tar.gz: 6ec002e98c4eef4010c5e7d2d3e30e05bc253db6e3b5b8a9f8bbc68b8a0c42a3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: '059523e19ca5bfc9dbd2e17498c7c44d82de8cd0570415061d96f51d928b6a773df1ccf976995597b3eb9916f11808a562a4f3c4dfd0b3bc2b1d9d10153ba33b'
|
7
|
+
data.tar.gz: 749be7f67700bd1e885b4e92675c6d677018e63f7e1431667ee59d6ae8e6bc82105349c3e0047efaebd9894b339fd0fe8433d4f79c253fa33bf88dce6b77278f
|
data/README.md
CHANGED
@@ -18,33 +18,34 @@ For customize radio programs, copy `rget.yaml` to `~/.rget` or current work dire
|
|
18
18
|
* <command path>/../rget.yaml (for gem)
|
19
19
|
|
20
20
|
## Installation
|
21
|
-
|
21
|
+
```
|
22
22
|
$ gem install rget
|
23
|
-
|
23
|
+
```
|
24
24
|
## Usage
|
25
25
|
### rget command
|
26
|
+
```
|
27
|
+
# save a template of the radio program configration
|
28
|
+
rget yaml http://example.com/radio >> ~/.rget
|
26
29
|
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
# download and convert to mp3 THE iDOLM@STER Cinderella Girls Radio
|
31
|
-
rget imas_cg
|
32
|
-
|
33
|
-
# download takamori only (saved movie file)
|
34
|
-
rget takamori --no-mp3
|
30
|
+
# download and convert to mp3 THE iDOLM@STER Cinderella Girls Radio
|
31
|
+
rget imas_cg
|
35
32
|
|
36
|
-
|
37
|
-
|
33
|
+
# download takamori only (saved movie file)
|
34
|
+
rget takamori --no-mp3
|
38
35
|
|
39
|
-
|
40
|
-
|
36
|
+
# srore mp3 file to specified directory
|
37
|
+
rget suzakinishi --path=/home/hoge/radio
|
41
38
|
|
39
|
+
# store mp3 file to radio folder of Dropbox
|
40
|
+
rget matsui --path=dropbpx://radio
|
41
|
+
```
|
42
42
|
### nicodl command
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
43
|
+
```
|
44
|
+
# download nicovideo live program
|
45
|
+
nicodl http://live.nicovideo.jp/watch/lv999999999
|
46
|
+
```
|
47
47
|
### add\_mp3info
|
48
|
-
|
49
|
-
|
50
|
-
|
48
|
+
```
|
49
|
+
# set cover photo into mp3 file
|
50
|
+
add_mp3info sample.mp3 cover.jpg
|
51
|
+
```
|
data/lib/freshlive.rb
CHANGED
@@ -14,19 +14,25 @@ class FreshLive < WebRadio
|
|
14
14
|
begin
|
15
15
|
serial = meta['data']['title'].scan(/\d+$/).first.to_i
|
16
16
|
src = "#{@label}##{'%02d' % serial}.ts"
|
17
|
-
dst = src.sub(/\.ts$/, '.mp4')
|
17
|
+
dst = src.sub(/\.ts$/, @options.mp3 ? '.mp3' : '.mp4')
|
18
18
|
if exist?(dst)
|
19
19
|
puts "#{dst} is existent, skipped."
|
20
20
|
return
|
21
21
|
end
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
22
|
+
unless exist?(src)
|
23
|
+
open(src, 'wb') do |w|
|
24
|
+
print "getting #{src}..."
|
25
|
+
ts_list(meta['data']['archiveStreamUrl']).each_with_index do |u, i|
|
26
|
+
print '.' if i % 50 == 0
|
27
|
+
w.write(open(u, 'rb').read)
|
28
|
+
end
|
27
29
|
end
|
28
30
|
end
|
29
|
-
|
31
|
+
if @options.mp3
|
32
|
+
dst = to_mp3(src)
|
33
|
+
else
|
34
|
+
dst = to_mp4(src)
|
35
|
+
end
|
30
36
|
puts 'done.'
|
31
37
|
move(dst)
|
32
38
|
return
|
@@ -69,7 +75,7 @@ class FreshLive < WebRadio
|
|
69
75
|
|
70
76
|
private
|
71
77
|
def each_programs(html)
|
72
|
-
x = "//section[h1[contains(text(),'アーカイブ')]]//*[contains(@class,'ProgramTitle')]/a/@href"
|
78
|
+
x = "//section[descendant::h1[contains(text(),'アーカイブ')]]//*[contains(@class,'ProgramTitle')]/a/@href"
|
73
79
|
html.xpath(x).each do |href|
|
74
80
|
id = Pathname(href.value).basename.to_s
|
75
81
|
yield JSON.parse(open("https://freshlive.tv/proxy/Programs;id=#{id}", &:read))
|
@@ -81,9 +87,21 @@ private
|
|
81
87
|
open(URI(rate_m3u8) + ts_m3u8).read.each_line.grep_v(/^#/).map{|u|URI(rate_m3u8) + u.chomp}
|
82
88
|
end
|
83
89
|
|
84
|
-
def
|
90
|
+
def to_mp3(src)
|
91
|
+
dst = src.sub(/ts$/, 'mp3')
|
92
|
+
command = "ffmpeg -i '#{src}' -vn -ab 64k '#{dst}'"
|
93
|
+
result = Open3.capture3(command)
|
94
|
+
if result[2].to_i == 0
|
95
|
+
File.delete(src)
|
96
|
+
else
|
97
|
+
File.delete(dst) if File.exist?(dst)
|
98
|
+
end
|
99
|
+
return dst
|
100
|
+
end
|
101
|
+
|
102
|
+
def to_mp4(src)
|
85
103
|
dst = src.sub(/ts$/, 'mp4')
|
86
|
-
command = "ffmpeg -i #{src} -vcodec copy -strict -2 #{dst}"
|
104
|
+
command = "ffmpeg -i '#{src}' -vcodec copy -strict -2 '#{dst}'"
|
87
105
|
result = Open3.capture3(command)
|
88
106
|
if result[2].to_i == 0
|
89
107
|
File.delete(src)
|
data/rget.gemspec
CHANGED
@@ -4,12 +4,12 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "rget"
|
7
|
-
spec.version = "4.6.
|
7
|
+
spec.version = "4.6.1"
|
8
8
|
spec.authors = ["TADA Tadashi"]
|
9
9
|
spec.email = ["t@tdtds.jp"]
|
10
10
|
spec.description = %q{Downloading newest radio programs on the web. Supported radio stations are hibiki, onsen, niconico, freshlive and himalaya.}
|
11
11
|
spec.summary = %q{Downloading newest radio programs on the web.}
|
12
|
-
spec.homepage = "https://
|
12
|
+
spec.homepage = "https://github.com/wasamas/rget"
|
13
13
|
spec.license = "GPL"
|
14
14
|
|
15
15
|
spec.files = `git ls-files`.split($/)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rget
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.6.
|
4
|
+
version: 4.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- TADA Tadashi
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-06-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -168,7 +168,7 @@ files:
|
|
168
168
|
- lib/webradio.rb
|
169
169
|
- rget.gemspec
|
170
170
|
- rget.yaml
|
171
|
-
homepage: https://
|
171
|
+
homepage: https://github.com/wasamas/rget
|
172
172
|
licenses:
|
173
173
|
- GPL
|
174
174
|
metadata: {}
|
@@ -188,7 +188,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
188
188
|
version: '0'
|
189
189
|
requirements: []
|
190
190
|
rubyforge_project:
|
191
|
-
rubygems_version: 2.7.
|
191
|
+
rubygems_version: 2.7.7
|
192
192
|
signing_key:
|
193
193
|
specification_version: 4
|
194
194
|
summary: Downloading newest radio programs on the web.
|