osdn-cli 0.0.2 → 0.0.3
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/lib/osdn/cli/command/frs_upload.rb +52 -2
- 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: 442f23ffc9e17733a2fe7270c3a88406ae35f921
|
4
|
+
data.tar.gz: 8b31d0791ab11179aa4a76931a6cf605b42373d3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c749f17520f2dafeb21c820c530c94cddf38ccf01f35112ff50cb1c40134d281bc8e819772b23142f03fc68a77d54d46e25c1fc8e29fdcb620f32d78d0be78fb
|
7
|
+
data.tar.gz: d1032019115a40a9a1f549c9c9939cd546e4a8c6803ce1f3c3ec75a16ee0157fa1519f5957f4131b38a8a417c666d418b69a67ae434ad2c4d210561cf3a766dd
|
@@ -1,4 +1,45 @@
|
|
1
1
|
require 'digest'
|
2
|
+
require 'ethon'
|
3
|
+
|
4
|
+
module OSDN; module CLI; module Command
|
5
|
+
class FrsUpload < Base
|
6
|
+
@@_show_progress = false
|
7
|
+
def self._show_progress
|
8
|
+
@@_show_progress
|
9
|
+
end
|
10
|
+
def self._show_progress=(v)
|
11
|
+
need_reset = (!!@@_show_progress != !!v)
|
12
|
+
@@_show_progress = v
|
13
|
+
need_reset and _reset_all_typhoeus_pool
|
14
|
+
end
|
15
|
+
|
16
|
+
def self._reset_all_typhoeus_pool
|
17
|
+
first_easyid = nil
|
18
|
+
while true
|
19
|
+
e = Typhoeus::Pool.get
|
20
|
+
Typhoeus::Pool.release(e)
|
21
|
+
e.__id__ == first_easyid and break
|
22
|
+
first_easyid ||= e.__id__
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end; end; end
|
27
|
+
|
28
|
+
module Ethon
|
29
|
+
class Easy
|
30
|
+
module Callbacks
|
31
|
+
alias_method :set_callbacks_orig, :set_callbacks
|
32
|
+
def set_callbacks
|
33
|
+
set_callbacks_orig
|
34
|
+
if OSDN::CLI::Command::FrsUpload._show_progress
|
35
|
+
Curl.set_option(:noprogress, false, handle)
|
36
|
+
else
|
37
|
+
Curl.set_option(:noprogress, true, handle)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
2
43
|
|
3
44
|
module OSDN; module CLI; module Command
|
4
45
|
class FrsUpload < Base
|
@@ -80,6 +121,7 @@ module OSDN; module CLI; module Command
|
|
80
121
|
next
|
81
122
|
end
|
82
123
|
|
124
|
+
logger.debug "Calculating digest for #{file}..."
|
83
125
|
digests = {
|
84
126
|
sha256: hexdigest(Digest::SHA256, file),
|
85
127
|
sha1: hexdigest(Digest::SHA1, file),
|
@@ -95,11 +137,18 @@ module OSDN; module CLI; module Command
|
|
95
137
|
if @dry_run
|
96
138
|
finfo = Hashie::Mash.new id: '(dry-run)', url: '(dry-run)'
|
97
139
|
else
|
98
|
-
|
140
|
+
logger.level <= Logger::INFO and
|
141
|
+
self.class._show_progress = true
|
99
142
|
fio = file.open
|
143
|
+
logger.info "Starting upload #{file}..."
|
100
144
|
finfo = api.create_release_file target_proj, target_package(rdir), target_release(rdir), fio, visibility: @visibility
|
101
145
|
fio.close
|
102
|
-
|
146
|
+
self.class._show_progress = false
|
147
|
+
if digests.find { |type, dig| dig != finfo.send("digest_#{type}") }
|
148
|
+
logger.error "File digests are mismatch! Upload file #{file} may be broken! Please check."
|
149
|
+
else
|
150
|
+
logger.info "Upload completed."
|
151
|
+
end
|
103
152
|
end
|
104
153
|
$stdout.puts "New file '#{file}' has been uploaded; #{finfo.url}"
|
105
154
|
end
|
@@ -153,5 +202,6 @@ module OSDN; module CLI; module Command
|
|
153
202
|
fio.close
|
154
203
|
dig.hexdigest
|
155
204
|
end
|
205
|
+
|
156
206
|
end
|
157
207
|
end; end; 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.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- OSDN
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-03-
|
11
|
+
date: 2016-03-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|