osdn-cli 0.1.5 → 0.1.6
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/ChangeLog +7 -2
- data/lib/osdn/cli/command/frs_upload.rb +21 -3
- data/lib/osdn/cli/command/relfile.rb +23 -3
- data/lib/osdn/cli/runner.rb +5 -1
- data/lib/osdn/cli/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 69b1dbd8621213ebdb69f94647d544e5cc7fa333
|
4
|
+
data.tar.gz: a52207094f25c588a729ea815dfb0e5004e2e86b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 25e1712b2292dd07c6c757fcf0e12ac4640471b29d862ef6260c3a87e7f645da76e6fc6fe9f9f8d94c581bb4bf7b77d35b94b1aa91bcc7b81d8c352dd66da38d
|
7
|
+
data.tar.gz: a1e05a3cc8e2acd8a15b73a66fc607825887e306e05bd8ec9971815a1b2b5b180e4e35f794d382f8e082a6814552469b5359377accaf8db6144a67bb8673e778
|
data/ChangeLog
CHANGED
@@ -1,11 +1,16 @@
|
|
1
|
+
2016-07-27 Tatsuki Sugiura <sugi@nemui.org>
|
2
|
+
|
3
|
+
* Version 0.1.6
|
4
|
+
* frs_upload, relfile: Auto retry on upload error.
|
5
|
+
|
1
6
|
2016-07-20 Tatsuki Sugiura <sugi@nemui.org>
|
2
7
|
|
3
|
-
*
|
8
|
+
* Version 0.1.5
|
4
9
|
* frs_upload, relfile: Add bandwidth limit option.
|
5
10
|
|
6
11
|
2016-07-01 Tatsuki Sugiura <sugi@nemui.org>
|
7
12
|
|
8
|
-
*
|
13
|
+
* Version 0.1.4
|
9
14
|
* frs_upload, relfile: Add progress options.
|
10
15
|
|
11
16
|
2016-05-26 Tatsuki Sugiura <sugi@nemui.org>
|
@@ -199,9 +199,27 @@ module OSDN; module CLI; module Command
|
|
199
199
|
OSDN::CLI._show_progress = true
|
200
200
|
fio = file.open
|
201
201
|
logger.info "Starting upload #{file}..."
|
202
|
-
|
203
|
-
|
204
|
-
|
202
|
+
max_upload_tries = 5
|
203
|
+
upload_tries = 0
|
204
|
+
begin
|
205
|
+
upload_tries += 1
|
206
|
+
finfo = api.create_release_file target_proj, target_package(rdir), target_release(rdir), fio, visibility: @visibility
|
207
|
+
rescue OSDNClient::ApiError => e
|
208
|
+
if max_upload_tries - upload_tries <= 0
|
209
|
+
logger.error "Max upload attempts (#{max_upload_tries}) has been exceeded, give up!"
|
210
|
+
raise e
|
211
|
+
elsif [0, 100, 502].member?(e.code.to_i)
|
212
|
+
fio.rewind
|
213
|
+
logger.error "Upload error (#{e.code} #{e.message}), retrying (#{upload_tries}/#{max_upload_tries})..."
|
214
|
+
sleep 10
|
215
|
+
retry
|
216
|
+
else
|
217
|
+
raise e
|
218
|
+
end
|
219
|
+
ensure
|
220
|
+
OSDN::CLI._show_progress = false
|
221
|
+
fio.close
|
222
|
+
end
|
205
223
|
if digests.find { |type, dig| dig != finfo.send("digest_#{type}") }
|
206
224
|
logger.error "File digests are mismatch! Upload file #{file} may be broken! Please check."
|
207
225
|
else
|
@@ -121,9 +121,29 @@ module OSDN; module CLI; module Command
|
|
121
121
|
logger.level <= Logger::INFO && @show_progress != false || @show_progress and
|
122
122
|
OSDN::CLI._show_progress = true
|
123
123
|
logger.info "Starting upload #{file}..."
|
124
|
-
|
125
|
-
|
126
|
-
|
124
|
+
max_upload_tries = 5
|
125
|
+
upload_tries = 0
|
126
|
+
f = nil
|
127
|
+
begin
|
128
|
+
upload_tries += 1
|
129
|
+
f = api.create_release_file target_proj, target_package, target_release, fio, visibility: @visibility
|
130
|
+
rescue OSDNClient::ApiError => e
|
131
|
+
if max_upload_tries - upload_tries <= 0
|
132
|
+
logger.error "Max upload attempts (#{max_upload_tries}) has been exceeded, give up!"
|
133
|
+
raise e
|
134
|
+
elsif [0, 100, 502].member?(e.code.to_i)
|
135
|
+
fio.rewind
|
136
|
+
logger.error "Upload error (#{e.code} #{e.message}), retrying (#{upload_tries}/#{max_upload_tries})..."
|
137
|
+
sleep 10
|
138
|
+
retry
|
139
|
+
else
|
140
|
+
raise e
|
141
|
+
end
|
142
|
+
ensure
|
143
|
+
fio.close
|
144
|
+
OSDN::CLI._show_progress = false
|
145
|
+
end
|
146
|
+
|
127
147
|
if digests.find { |type, dig| dig != f.send("digest_#{type}") }
|
128
148
|
logger.error "File digests are mismatch! Upload file #{file} may be broken! Please check."
|
129
149
|
else
|
data/lib/osdn/cli/runner.rb
CHANGED
@@ -80,6 +80,10 @@ module OSDN
|
|
80
80
|
command = get_command_class(command_name).new(logger)
|
81
81
|
logger.debug "Run command #{command_name}"
|
82
82
|
begin
|
83
|
+
Signal.trap "INT" do
|
84
|
+
puts :INT
|
85
|
+
exit
|
86
|
+
end
|
83
87
|
command.run
|
84
88
|
rescue OSDNClient::ApiError => e
|
85
89
|
begin
|
@@ -92,7 +96,7 @@ module OSDN
|
|
92
96
|
logger.fatal "Command failed by ApiError: #{e.response_body}"
|
93
97
|
end
|
94
98
|
rescue
|
95
|
-
logger.fatal "Command failed: #{e.inspect}"
|
99
|
+
logger.fatal "Command failed: #{e.inspect} #{e.message} (#{e.code}): #{e.response_body} #{e.response_headers}"
|
96
100
|
end
|
97
101
|
end
|
98
102
|
end
|
data/lib/osdn/cli/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: osdn-cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- OSDN
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-07-
|
11
|
+
date: 2016-07-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|