s3cp 1.1.3 → 1.1.4
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +8 -1
- data/lib/s3cp/completion.rb +14 -28
- data/lib/s3cp/s3cp.rb +4 -4
- data/lib/s3cp/version.rb +1 -1
- metadata +4 -4
data/History.txt
CHANGED
@@ -1,4 +1,11 @@
|
|
1
|
-
=== 1.1.
|
1
|
+
=== 1.1.4 (2012-09-11)
|
2
|
+
|
3
|
+
* Fixed: Command-line completion that was broken since 1.1.0 (after aws-sdk migration)
|
4
|
+
|
5
|
+
* Fixed: s3-to-s3 copy that was broken since 1.1.0 (after aws-sdk migration)
|
6
|
+
|
7
|
+
|
8
|
+
=== 1.1.3 (2012-09-05)
|
2
9
|
|
3
10
|
* Fixed: s3-to-s3 copy command failed with error message:
|
4
11
|
`s3_to_s3': undefined local variable or method `s3_' for #<Object:0x7f333b239298> (NameError)
|
data/lib/s3cp/completion.rb
CHANGED
@@ -15,15 +15,8 @@
|
|
15
15
|
# License for the specific language governing permissions and limitations under
|
16
16
|
# the License.
|
17
17
|
|
18
|
-
require 'rubygems'
|
19
|
-
require 'extensions/kernel' if RUBY_VERSION =~ /1.8/
|
20
|
-
require 'right_aws'
|
21
|
-
require 'optparse'
|
22
|
-
require 'date'
|
23
|
-
require 'highline/import'
|
24
|
-
require 'tempfile'
|
25
|
-
|
26
18
|
require 's3cp/utils'
|
19
|
+
require 'tempfile'
|
27
20
|
|
28
21
|
cmd_line = ENV['COMP_LINE']
|
29
22
|
position = ENV['COMP_POINT'].to_i
|
@@ -115,13 +108,11 @@ if (prefix && prefix.length > 0) || (url =~ /s3\:\/\/[^\/]+\//) || (url =~ /\:$/
|
|
115
108
|
|
116
109
|
# try directory first
|
117
110
|
dir_options = Hash.new
|
118
|
-
dir_options[:prefix] = prefix
|
119
111
|
dir_options[:delimiter] = delimiter
|
120
112
|
begin
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
result = entries
|
113
|
+
result = []
|
114
|
+
@s3.buckets[bucket_from].objects.with_prefix(prefix).as_tree(:delimier => options[:delimiter], :append => false).children.each do |entry|
|
115
|
+
result << entry.key
|
125
116
|
end
|
126
117
|
rescue => e
|
127
118
|
debug "exception #{e}"
|
@@ -137,22 +128,18 @@ if (prefix && prefix.length > 0) || (url =~ /s3\:\/\/[^\/]+\//) || (url =~ /\:$/
|
|
137
128
|
# there may be longer matches
|
138
129
|
if (result.size == 0) || (result.size == 1)
|
139
130
|
prefix = result[0] if result.size == 1
|
140
|
-
|
141
|
-
|
142
|
-
file_options["max-keys"] = 100
|
131
|
+
s3_options = Hash.new
|
132
|
+
s3_options[:limit] = 1000
|
143
133
|
short_keys = Hash.new
|
144
134
|
all_keys = []
|
145
135
|
begin
|
146
|
-
@s3.
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
short_keys[short_key] = key
|
154
|
-
all_keys << key
|
155
|
-
end
|
136
|
+
@s3.buckets[bucket].objects.with_prefix(prefix).each(s3_options) do |entry|
|
137
|
+
key = entry.key
|
138
|
+
pos = prefix.length-1
|
139
|
+
pos += 1 while pos+1 < key.length && key[pos+1].chr == delimiter
|
140
|
+
short_key = key[0..pos]
|
141
|
+
short_keys[short_key] = key
|
142
|
+
all_keys << key
|
156
143
|
end
|
157
144
|
rescue => e
|
158
145
|
debug "exception #{e}"
|
@@ -173,8 +160,7 @@ else
|
|
173
160
|
# complete bucket name
|
174
161
|
bucket ||= url
|
175
162
|
begin
|
176
|
-
|
177
|
-
bucket_names = buckets.map { |b| b[:name] }
|
163
|
+
bucket_names = @s3.buckets.to_a.map(&:name)
|
178
164
|
matching = bucket_names.select { |b| b =~ /^#{bucket}/ }
|
179
165
|
print_buckets(matching)
|
180
166
|
rescue => e
|
data/lib/s3cp/s3cp.rb
CHANGED
@@ -458,8 +458,8 @@ def copy(from, to, options)
|
|
458
458
|
when :s3_to_s3
|
459
459
|
if options[:recursive]
|
460
460
|
keys = []
|
461
|
-
@s3.
|
462
|
-
|
461
|
+
@s3.buckets[bucket_from].objects.with_prefix(key_from).each do |entry|
|
462
|
+
keys << entry.key
|
463
463
|
end
|
464
464
|
keys.each do |key|
|
465
465
|
if match(key)
|
@@ -488,8 +488,8 @@ def copy(from, to, options)
|
|
488
488
|
when :s3_to_local
|
489
489
|
if options[:recursive]
|
490
490
|
keys = []
|
491
|
-
@s3.
|
492
|
-
|
491
|
+
@s3.buckets[bucket_from].objects.with_prefix(key_from).each do |entry|
|
492
|
+
keys << entry.key
|
493
493
|
end
|
494
494
|
keys.each do |key|
|
495
495
|
if match(key)
|
data/lib/s3cp/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: s3cp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 27
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 1
|
9
|
-
-
|
10
|
-
version: 1.1.
|
9
|
+
- 4
|
10
|
+
version: 1.1.4
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Alex Boisvert
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2012-09-
|
18
|
+
date: 2012-09-11 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
21
|
prerelease: false
|