sleeproom 0.3.0 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/sleeproom/cli.rb +9 -8
- data/lib/sleeproom/record/api/api.rb +3 -0
- data/lib/sleeproom/record/record.rb +8 -4
- data/lib/sleeproom/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a8b882f789e21adccfa42fdb69e4c103b6397421b7ba688f2f2465d3ba874be1
|
4
|
+
data.tar.gz: 51436fb96ee7f78de6e8e38541a260a5361bd4add38f0896f216728fa6ed3b03
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c697893e07f46d16341ed3a6008c9b4fe304f7b76c3c8c3c6105a3c3c136d46daeade8530696eed0fe806989bca7e60acac10edb4eeb0e2fcf6e5ad312c60c6f
|
7
|
+
data.tar.gz: 0f5f7ae15517f8281ce44e3d8c0536b235436cf44fcfd9833c3f61b60a0cf82dd128788812a7185f4de82c8e3592fb5d11ca65edef58dc8b33b0fe4474e72ee6
|
data/Gemfile.lock
CHANGED
data/lib/sleeproom/cli.rb
CHANGED
@@ -17,8 +17,6 @@ module SleepRoom
|
|
17
17
|
SleepRoom::Record::Tasks.status
|
18
18
|
elsif action == "start"
|
19
19
|
SleepRoom::Record::Tasks.start
|
20
|
-
elsif action == "download"
|
21
|
-
raise "未实现"
|
22
20
|
elsif action == "exit"
|
23
21
|
SleepRoom::Record::Tasks.stop
|
24
22
|
end
|
@@ -53,18 +51,21 @@ module SleepRoom
|
|
53
51
|
SleepRoom::Record::Tasks.add(room[0].to_s, room[1].to_s)
|
54
52
|
end
|
55
53
|
|
56
|
-
opt.on("-r", "--remove [
|
54
|
+
opt.on("-r", "--remove [ROOM]", "从监视列表移除") do |room|
|
57
55
|
SleepRoom::Record::Tasks.remove(room)
|
58
56
|
end
|
59
57
|
|
60
|
-
opt.on("-
|
61
|
-
|
58
|
+
opt.on("-d", "--download [ROOM]", "录制指定房间") do |room|
|
59
|
+
raise Error.new("房间名不能为空") if room.nil?
|
60
|
+
write_status = SleepRoom::Record::WriteStatus.new
|
61
|
+
record = SleepRoom::Record::Showroom.new(room: room, group: "download", queue: write_status)
|
62
|
+
record.record
|
62
63
|
end
|
63
64
|
|
64
|
-
opt.on("-
|
65
|
-
@options[:
|
65
|
+
opt.on("-v", "--verbose", "Print log") do
|
66
|
+
@options[:verbose] = true
|
66
67
|
end
|
67
|
-
|
68
|
+
|
68
69
|
opt.on_tail("--version", "Print version") do
|
69
70
|
STDOUT.puts(opt.version)
|
70
71
|
end
|
@@ -10,6 +10,7 @@ module SleepRoom
|
|
10
10
|
module Record
|
11
11
|
module API
|
12
12
|
class Error < StandardError; end
|
13
|
+
class NotFoundError < Error; end
|
13
14
|
ROOM_URL = "https://www.showroom-live.com"
|
14
15
|
ROOM_API = "https://www.showroom-live.com/api/room/status"
|
15
16
|
STREAMING_API = "https://www.showroom-live.com/api/live/streaming_url"
|
@@ -21,6 +22,8 @@ module SleepRoom
|
|
21
22
|
http = Faraday.get(url, nil, {"User-Agent": USER_AGENT})
|
22
23
|
if http.status == 200
|
23
24
|
@json = JSON.parse(http.body)
|
25
|
+
elsif http.status == 404
|
26
|
+
raise NotFoundError
|
24
27
|
else
|
25
28
|
raise Error, "HTTP Error: #{http.status}"
|
26
29
|
end
|
@@ -149,6 +149,10 @@ module SleepRoom
|
|
149
149
|
@is_live = api.live?
|
150
150
|
@broadcast_host = api.broadcast_host
|
151
151
|
@broadcast_key = api.broadcast_key
|
152
|
+
rescue API::NotFoundError
|
153
|
+
SleepRoom.error("[#{@room}] The room does not exist.")
|
154
|
+
log("Task stopped.")
|
155
|
+
Async::Task.current.stop
|
152
156
|
rescue => e
|
153
157
|
SleepRoom.error(e.message)
|
154
158
|
log("[setRoomInfo] Retry...")
|
@@ -186,7 +190,7 @@ module SleepRoom
|
|
186
190
|
download_pid: pid
|
187
191
|
})
|
188
192
|
task.async do |t|
|
189
|
-
|
193
|
+
loop do
|
190
194
|
live = API::RoomAPI.new(@room).live?
|
191
195
|
if !SleepRoom.running?(pid) && !live
|
192
196
|
log("Download complete.")
|
@@ -208,10 +212,10 @@ module SleepRoom
|
|
208
212
|
log("Live stop.")
|
209
213
|
end
|
210
214
|
t.sleep 120
|
215
|
+
rescue Faraday::ConnectionFailed
|
216
|
+
log("Network error.")
|
217
|
+
retry
|
211
218
|
end
|
212
|
-
rescue Faraday::ConnectionFailed
|
213
|
-
log("Network error.")
|
214
|
-
retry
|
215
219
|
end.wait
|
216
220
|
end
|
217
221
|
|
data/lib/sleeproom/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sleeproom
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Koell
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-06-
|
11
|
+
date: 2020-06-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colorize
|