bkblz 0.1.10 → 0.1.11
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/bin/bkblz +15 -7
- data/lib/bkblz/task/upload_file.rb +26 -10
- data/lib/bkblz/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: 5997f9298f8ca9a76ccab7d97a32056c39715284
|
4
|
+
data.tar.gz: 5705d4a980f24bc1129ea632e1d43c91a4141ebb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ceb34167c6cac650642da332387d44dd413d5d16f96aaaa940b007ce412cf586640ce7e5770827c4d43e37a9f6e1013e79a499075c8ed47785de0ee1c2a1b5af
|
7
|
+
data.tar.gz: 756b93c8aafa321d6301e7bc5a1146dcbd64be52581de83c8ca16f41aea79ea6804d97bf6c4d2da35d53f0472611ad6453c5904b989382f658cd9778cb2ad3ca
|
data/bin/bkblz
CHANGED
@@ -109,18 +109,26 @@ module Bkblz
|
|
109
109
|
class File < Thor
|
110
110
|
include Helper
|
111
111
|
|
112
|
-
desc "upload <bucket_name> <local_file_path>", "upload a local file to B2"
|
112
|
+
desc "upload <bucket_name> <local_file_path>", "upload a local file to B2" +
|
113
|
+
" if <local_file_path> is \"-\" (0x2d), then upload will read from STDIN."
|
113
114
|
option :file_name, :desc => "remote file name, if not given the basename" +
|
114
|
-
"of the local file is used"
|
115
|
+
" of the local file is used"
|
115
116
|
def upload(bucket_name, local_file_path)
|
116
117
|
parse_opts
|
117
118
|
|
119
|
+
params = {
|
120
|
+
:bucket_name => bucket_name,
|
121
|
+
:file_name => options[:file_name]
|
122
|
+
}
|
123
|
+
|
124
|
+
if local_file_path == "-"
|
125
|
+
params[:file_body] = STDIN.read
|
126
|
+
else
|
127
|
+
params[:file_path] = local_file_path
|
128
|
+
end
|
129
|
+
|
118
130
|
file_info = run_task do
|
119
|
-
Bkblz::Task::UploadFile.run Bkblz.config,
|
120
|
-
:bucket_name => bucket_name,
|
121
|
-
:file_path => local_file_path,
|
122
|
-
:file_name => options[:file_name]
|
123
|
-
}
|
131
|
+
Bkblz::Task::UploadFile.run Bkblz.config, params
|
124
132
|
end
|
125
133
|
|
126
134
|
print_header "File Info"
|
@@ -3,25 +3,41 @@ module Bkblz
|
|
3
3
|
class UploadFile < BaseTask
|
4
4
|
|
5
5
|
task_param :bucket_name, :required => true
|
6
|
-
task_param :file_path
|
6
|
+
task_param :file_body # Either file_body or file_path is required
|
7
|
+
task_param :file_path
|
7
8
|
task_param :file_name # Overrides local file_path if given
|
8
9
|
|
9
|
-
# TODO(erick): Change file_path to a byte string, let the task be agnostic
|
10
|
-
# to where the data comes from. (Probably v0.2).
|
11
10
|
def run_internal(session, params)
|
12
|
-
|
11
|
+
file_body = if params[:file_path]
|
12
|
+
f = ::File.new(params[:file_path], "r")
|
13
|
+
f.read
|
14
|
+
elsif params[:file_body]
|
15
|
+
params[:file_body]
|
16
|
+
else
|
17
|
+
raise 'missing either :file_body or :file_path param'
|
18
|
+
end
|
19
|
+
|
20
|
+
file_name = if params[:file_name]
|
21
|
+
params[:file_name]
|
22
|
+
elsif params[:file_path]
|
23
|
+
::File.basename(params[:file_path])
|
24
|
+
else
|
25
|
+
raise 'missing either :file_name or :file_path param'
|
26
|
+
end
|
27
|
+
|
28
|
+
file_mtime = if params[:file_path]
|
29
|
+
::File.mtime(params[:file_path])
|
30
|
+
else
|
31
|
+
Time.now
|
32
|
+
end.to_i * 1000
|
13
33
|
|
14
34
|
bucket = find_bucket_by_name session, params[:bucket_name]
|
15
35
|
upload_auth = session.send(
|
16
36
|
Bkblz::V1::GetUploadUrlRequest.new bucket.bucket_id).to_model
|
17
37
|
|
18
|
-
file_name = params[:file_name] || ::File.basename(f.path)
|
19
|
-
file_body = f.read
|
20
|
-
mtime_millis = f.mtime.to_i * 1000
|
21
|
-
|
22
38
|
upload_file_info = session.send(
|
23
|
-
Bkblz::V1::UploadFileRequest.new
|
24
|
-
|
39
|
+
Bkblz::V1::UploadFileRequest.new(
|
40
|
+
upload_auth, file_body, file_name, nil, file_mtime)).to_model
|
25
41
|
end
|
26
42
|
end
|
27
43
|
end
|
data/lib/bkblz/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bkblz
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.11
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Erick Johnson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-11-
|
11
|
+
date: 2017-11-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|