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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +22 -21
  3. data/lib/freshlive.rb +28 -10
  4. data/rget.gemspec +2 -2
  5. metadata +4 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: cbb60902a3e7e94cdde04a6e9fcaba67520f77691ed758954f1fc6a85ff36573
4
- data.tar.gz: 5bec01d8399e3a213dad6f6809af72a69b2bc480be0fd8be4683a6098ca5db05
3
+ metadata.gz: 8724d5e9d9cc41ac88e02daadf6beea6ddca2040b676f09a9d1a9be06792bed8
4
+ data.tar.gz: 6ec002e98c4eef4010c5e7d2d3e30e05bc253db6e3b5b8a9f8bbc68b8a0c42a3
5
5
  SHA512:
6
- metadata.gz: 49af824ae83d968115f0ae2b7b52a41f0b37fad355516a248ca4c4d61aa378bbfabef7e4848ef585d00e7172d1f3c9b0e3d63e840990e2db80fb9a8afdc3455b
7
- data.tar.gz: c14371d3ee3fa7167279aca481a4534f17db04fdb75b056aafad9e4e2fdfa8ca519e33fb840ee856e06a17945b7b6e82ab56dcda94d354d7e18673b6dceb280f
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
- # save a template of the radio program configration
28
- rget yaml http://example.com/radio >> ~/.rget
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
- # srore mp3 file to specified directory
37
- rget suzakinishi --path=/home/hoge/radio
33
+ # download takamori only (saved movie file)
34
+ rget takamori --no-mp3
38
35
 
39
- # store mp3 file to radio folder of Dropbox
40
- rget matsui --path=dropbpx://radio
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
- # download nicovideo live program
45
- nicodl http://live.nicovideo.jp/watch/lv999999999
46
-
43
+ ```
44
+ # download nicovideo live program
45
+ nicodl http://live.nicovideo.jp/watch/lv999999999
46
+ ```
47
47
  ### add\_mp3info
48
-
49
- # set cover photo into mp3 file
50
- add_mp3info sample.mp3 cover.jpg
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
- open(src, 'wb') do |w|
23
- print "getting #{src}..."
24
- ts_list(meta['data']['archiveStreamUrl']).each do |u|
25
- print '.'
26
- w.write(open(u, 'rb').read)
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
- dst = mp4nize(src)
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 mp4nize(src)
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.0"
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://bitbucket.org/tdtds/rget"
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.0
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-05-04 00:00:00.000000000 Z
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://bitbucket.org/tdtds/rget
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.6
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.