rget 2.6.0 → 2.7.0

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 (4) hide show
  1. checksums.yaml +4 -4
  2. data/bin/nicodl +49 -36
  3. data/rget.gemspec +1 -1
  4. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 430ab60d77c7ae45f44ea928335585d08dab612c
4
- data.tar.gz: 9a1c2aa1cc84bda8020cb741aab878d0e1209908
3
+ metadata.gz: 7c90456779aba13450998afcadce3edbe6cd9ece
4
+ data.tar.gz: c53800c64c011fae5ee65c5ee35ea121ae242ef9
5
5
  SHA512:
6
- metadata.gz: fcbdfab23f88567de63d43265057479b0d67490cf3d7de7bb08855efbb54c6410cbb55c130fe9010284924dcfc786844b88f383109da1e8f66e3ea9b5a1b3e73
7
- data.tar.gz: 295a9df1458733a29c528285000c5833b0a3260c22cb7c147ea39a6c10be6e1bcac2afdd8d5e784c6ce3a89369a04760acc2d1ac9722be8e867110e5edb7d881
6
+ metadata.gz: 0aba75ce2fd55381d14f7fcac499abfed5150f797a51e57e5c5daa000e09c4183df070b87192c4047baf7cc6581b3b4cfeeb3423daecabb002e8095ca322dd07
7
+ data.tar.gz: d53ff24fb9cb41ab6d0a8c5b07a720c827f344557d9dbe6051051b450afff66e0d85107a5c0a580b43ea283f00d0706d8ff0a3e4ee9f1bdc79d0417fefb55b1c
data/bin/nicodl CHANGED
@@ -15,7 +15,17 @@ account = Pit::get('nicovideo', :require => {
15
15
  :pass => 'your nicovideo password'
16
16
  })
17
17
  nico = Niconico.new(account[:id], account[:pass])
18
- nico.login
18
+ retry_count = 0
19
+ begin
20
+ nico.login
21
+ rescue Mechanize::ResponseReadError
22
+ retry_count += 1
23
+ if retry_count < 10
24
+ puts "login faiure. retring(#{retry_count})"
25
+ sleep 5
26
+ retry
27
+ end
28
+ end
19
29
 
20
30
  video_id = Pathname(URI(player_url).path).basename.to_s
21
31
  begin
@@ -28,43 +38,46 @@ begin
28
38
  rescue Mechanize::ResponseCodeError
29
39
  # live streaming time-shift
30
40
  live = nico.live(video_id)
31
- if File.exist?("#{video_id}.flv")
32
- $stderr.puts "#{video_id}.flv is existent. skipping."
33
- else
34
- begin
35
- cmd = live.rtmpdump_commands(video_id).first
36
- rescue Niconico::Live::TicketRetrievingFailed
37
- $stderr.puts $!
38
- exit 1
39
- end
40
- cmd[cmd.index('-o') + 1] = "./#{video_id}.flv"
41
- begin
42
- o, e, s = Open3.capture3(cmd.join(' '))
43
- unless s.exitstatus == 0
44
- $stderr.puts e
45
- exit 1
41
+ begin
42
+ live.rtmpdump_commands(video_id).each_with_index do |cmd, i|
43
+ src = "#{video_id}-#{i+1}.flv"
44
+ dst = "#{live.title.gsub(%r|/|, '_')}-#{i+1}.mp4"
45
+ unless File.exist?(src)
46
+ cmd[cmd.index('-o') + 1] = "./#{src}"
47
+ begin
48
+ o, e, s = Open3.capture3(cmd.join(' '))
49
+ unless s.exitstatus == 0
50
+ $stderr.puts e
51
+ next
52
+ end
53
+ rescue Errno::ENOENT # rtmdump command not found
54
+ $stderr.puts $!
55
+ exit 1
56
+ end
57
+ else
58
+ $stderr.puts "#{src} is existent. skipping."
46
59
  end
47
- rescue Errno::ENOENT
48
- $stderr.puts $!
49
- exit 1
50
- end
51
- end
52
60
 
53
- avconv = 'avconv'
54
- args = " -i '#{video_id}.flv' -acodec copy -vcodec copy '#{live.title}.mp4'"
55
- begin
56
- o, e, s = Open3.capture3(avconv + args)
57
- unless s.exitstatus == 0
58
- $stderr.puts e
59
- exit 1
60
- end
61
- File.delete("#{video_id}.flv")
62
- rescue Errno::ENOENT
63
- if avconv == 'ffmpeg'
64
- $stderr.puts $!
65
- else
66
- avconv = 'ffmpeg'
67
- retry
61
+ avconv = 'avconv'
62
+ args = " -i '#{src}' -acodec copy -vcodec copy '#{dst}'"
63
+ begin
64
+ o, e, s = Open3.capture3(avconv + args)
65
+ unless s.exitstatus == 0
66
+ $stderr.puts e
67
+ next
68
+ end
69
+ File.delete(src)
70
+ rescue Errno::ENOENT
71
+ if avconv == 'ffmpeg'
72
+ $stderr.puts $!
73
+ else
74
+ avconv = 'ffmpeg'
75
+ retry
76
+ end
77
+ end
68
78
  end
79
+ rescue Niconico::Live::TicketRetrievingFailed
80
+ $stderr.puts $!
81
+ exit 2
69
82
  end
70
83
  end
data/rget.gemspec CHANGED
@@ -4,7 +4,7 @@ $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 = "2.6.0"
7
+ spec.version = "2.7.0"
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, animate, onsen, seaside communications, niconico and youtube.}
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: 2.6.0
4
+ version: 2.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - TADA Tadashi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-10-11 00:00:00.000000000 Z
11
+ date: 2016-11-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -185,7 +185,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
185
185
  version: '0'
186
186
  requirements: []
187
187
  rubyforge_project:
188
- rubygems_version: 2.5.1
188
+ rubygems_version: 2.6.4
189
189
  signing_key:
190
190
  specification_version: 4
191
191
  summary: Downloading newest radio programs on the web.