swa 0.8.5 → 0.8.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/lib/swa/cli/s3_command.rb +49 -1
- data/lib/swa/s3/object.rb +5 -1
- data/lib/swa/s3/object_version.rb +11 -0
- data/lib/swa/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5c07723e018108852c4b08553e806bdd53e80e88988e2fa1dbdef99b8aebbab3
|
4
|
+
data.tar.gz: 2835192e6d525d1bdb79ae94b698f8435f3311bba1deb145d20a5ab9257e373e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0cc932811e45b02d1d1b254ca52ba54e188281f59764e4b0efaae4164bdc2695f7c7cfcbab3f0ab92c6cbcfd417b3ef17e05e5a76ce2b29820c7c936cfb65a47
|
7
|
+
data.tar.gz: fc6105d43f360c2db2be74a594bd855a4567618143edbefb6343f46c5dd137af87971468a1d85c9cad5ef2a0b7d2c952f8b9b10c02b60f29f90c910f615e8587
|
data/lib/swa/cli/s3_command.rb
CHANGED
@@ -68,7 +68,28 @@ module Swa
|
|
68
68
|
parameter "FILE", "file name", :attribute_name => :file_name
|
69
69
|
|
70
70
|
def execute
|
71
|
-
object.
|
71
|
+
object.upload_from(file_name)
|
72
|
+
end
|
73
|
+
|
74
|
+
end
|
75
|
+
|
76
|
+
subcommand "download", "download object to local file" do
|
77
|
+
|
78
|
+
option %w(-T --to), "TARGET", "file or directory to download into", default: ".", attribute_name: :target
|
79
|
+
|
80
|
+
def execute
|
81
|
+
object.download_into(target_file_path, &method(:log_download_progress))
|
82
|
+
logger.info "Downloaded to #{target_file_path}"
|
83
|
+
end
|
84
|
+
|
85
|
+
private
|
86
|
+
|
87
|
+
def target_file_path
|
88
|
+
if File.directory?(target)
|
89
|
+
File.join(target, File.basename(object_key))
|
90
|
+
else
|
91
|
+
target
|
92
|
+
end
|
72
93
|
end
|
73
94
|
|
74
95
|
end
|
@@ -96,6 +117,27 @@ module Swa
|
|
96
117
|
|
97
118
|
end
|
98
119
|
|
120
|
+
subcommand "download", "download version to local file" do
|
121
|
+
|
122
|
+
option %w(-T --to), "TARGET", "file or directory to download into", default: ".", attribute_name: :target
|
123
|
+
|
124
|
+
def execute
|
125
|
+
version.download_into(target_file_path)
|
126
|
+
logger.info "Downloaded to #{target_file_path}"
|
127
|
+
end
|
128
|
+
|
129
|
+
private
|
130
|
+
|
131
|
+
def target_file_path
|
132
|
+
if File.directory?(target)
|
133
|
+
File.join(target, File.basename(object_key))
|
134
|
+
else
|
135
|
+
target
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
end
|
140
|
+
|
99
141
|
protected
|
100
142
|
|
101
143
|
def version
|
@@ -263,6 +305,12 @@ module Swa
|
|
263
305
|
resource_model.list(aws_resources)
|
264
306
|
end
|
265
307
|
|
308
|
+
def log_download_progress(bytes, part_sizes, file_size)
|
309
|
+
# total_bytes = bytes.sum
|
310
|
+
# percent_done = "%.1f" % [100.0 * total_bytes / file_size]
|
311
|
+
# logger.debug "Downloaded #{total_bytes} of #{file_size}; #{percent_done}% done"
|
312
|
+
end
|
313
|
+
|
266
314
|
end
|
267
315
|
|
268
316
|
end
|
data/lib/swa/s3/object.rb
CHANGED
@@ -30,11 +30,15 @@ module Swa
|
|
30
30
|
object.get.body
|
31
31
|
end
|
32
32
|
|
33
|
+
def download_into(file_name, &progress_callback)
|
34
|
+
object.download_file(file_name, progress_callback: progress_callback)
|
35
|
+
end
|
36
|
+
|
33
37
|
def put(io, options = {})
|
34
38
|
object.put(options.merge(:body => io))
|
35
39
|
end
|
36
40
|
|
37
|
-
def
|
41
|
+
def upload_from(file_name)
|
38
42
|
object.upload_file(file_name)
|
39
43
|
end
|
40
44
|
|
@@ -34,6 +34,17 @@ module Swa
|
|
34
34
|
version.get.body
|
35
35
|
end
|
36
36
|
|
37
|
+
def download_into(file_name, &progress_callback)
|
38
|
+
downloader = Aws::S3::FileDownloader.new(client: aws_resource.client)
|
39
|
+
options = {
|
40
|
+
bucket: version.bucket_name,
|
41
|
+
key: version.object_key,
|
42
|
+
version_id: version.id,
|
43
|
+
progress_callback: progress_callback,
|
44
|
+
}
|
45
|
+
downloader.download(file_name, options)
|
46
|
+
end
|
47
|
+
|
37
48
|
def delete
|
38
49
|
version.delete
|
39
50
|
end
|
data/lib/swa/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: swa
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Mike Williams
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-05-
|
11
|
+
date: 2024-05-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -360,7 +360,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
360
360
|
- !ruby/object:Gem::Version
|
361
361
|
version: '0'
|
362
362
|
requirements: []
|
363
|
-
rubygems_version: 3.5.
|
363
|
+
rubygems_version: 3.5.10
|
364
364
|
signing_key:
|
365
365
|
specification_version: 4
|
366
366
|
summary: AWS, backwards
|