s3cp 1.1.19 → 1.1.20

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +1,21 @@
1
+ === 1.1.20 (2013-02-26)
2
+
3
+ * Added: "--header" command-line option to s3cp, s3up, s3mod.
4
+
5
+ This option allows passing individual headers including ones with
6
+ a comma in the value, e.g.:
7
+
8
+ s3cp --header 'Cache-Control: max-age=604800,must-revalidate'
9
+
10
+ That otherwise would have been interpreted as two headers by the
11
+ "--headers" option. You may use several "--header" arguments
12
+ if needed.
13
+
14
+ (Be warned that at the time of this writing, the 's3stat' command
15
+ does not display all headers/metadata on the S3 object. This is
16
+ a bug in the aws-sdk gem. You may use the AWS console to get an
17
+ accurate list of all object headers and metadata.)
18
+
1
19
  === 1.1.19 (2013-02-06)
2
20
 
3
21
  * Fixed: Error in `s3lifecycle` if rule prefix is nil.
data/lib/s3cp/s3cp.rb CHANGED
@@ -91,7 +91,11 @@ op = OptionParser.new do |opts|
91
91
  opts.separator ""
92
92
 
93
93
  opts.on('--headers \'Header1: Header1Value\',\'Header2: Header2Value\'', Array, "Headers to set on the item in S3." ) do |h|
94
- options[:headers] = h
94
+ options[:headers] += h
95
+ end
96
+
97
+ opts.on('--header \'Header: Value\'', "Header to set on the item in S3." ) do |h|
98
+ options[:headers] += [h]
95
99
  end
96
100
 
97
101
  opts.on("--acl PERMISSION", "One of 'private', 'authenticated-read', 'public-read', 'public-read-write'") do |permission|
data/lib/s3cp/s3mod.rb CHANGED
@@ -56,7 +56,11 @@ op = OptionParser.new do |opts|
56
56
  end
57
57
 
58
58
  opts.on('--headers \'Header1: Header1Value\',\'Header2: Header2Value\'', Array, "Headers to set on the item in S3." ) do |h|
59
- options[:headers] = h
59
+ options[:headers] += h
60
+ end
61
+
62
+ opts.on('--header \'Header: Value\'', "Header to set on the item in S3." ) do |h|
63
+ options[:headers] += [h]
60
64
  end
61
65
 
62
66
  opts.on("--acl PERMISSION", "One of 'private', 'authenticated-read', 'public-read', 'public-read-write'") do |permission|
data/lib/s3cp/s3stat.rb CHANGED
@@ -52,7 +52,7 @@ S3CP.load_config()
52
52
  obj = @s3.objects[@key]
53
53
 
54
54
  metadata = obj.head
55
- metadata.keys.sort { |k1, k2| k1.to_s <=> k2.to_s}.each do |k|
55
+ metadata.to_h.keys.sort { |k1, k2| k1.to_s <=> k2.to_s}.each do |k|
56
56
  puts "#{"%30s" % k} #{metadata[k].is_a?(Hash) ? metadata[k].inspect : metadata[k].to_s}"
57
57
  end
58
58
 
data/lib/s3cp/s3up.rb CHANGED
@@ -30,7 +30,11 @@ op = OptionParser.new do |opts|
30
30
  opts.separator 'Uploads data from STDIN to S3.'
31
31
 
32
32
  opts.on('--headers \'Header1: Header1Value\',\'Header2: Header2Value\'', Array, "Headers to set on the item in S3." ) do |h|
33
- options[:headers] = h
33
+ options[:headers] += h
34
+ end
35
+
36
+ opts.on('--header \'Header: Value\'', "Header to set on the item in S3." ) do |h|
37
+ options[:headers] += [h]
34
38
  end
35
39
 
36
40
  opts.on("--acl PERMISSION", "One of 'private', 'authenticated-read', 'public-read', 'public-read-write'") do |permission|
data/lib/s3cp/utils.rb CHANGED
@@ -83,7 +83,7 @@ module S3CP
83
83
  header_array.each do |header|
84
84
  header_parts = header.split(": ", 2)
85
85
  if header_parts.size == 2
86
- headers[header_parts[0].downcase] = header_parts[1] # RightAWS gem expect lowercase header names :(
86
+ headers[header_parts[0]] = header_parts[1]
87
87
  else
88
88
  fail("Invalid header value; expected single colon delimiter; e.g. Header: Value")
89
89
  end
@@ -193,9 +193,11 @@ module S3CP
193
193
  end
194
194
  end
195
195
 
196
+ metadata = {}
196
197
  remaining.each do |k,v|
197
- options[k] = v
198
+ metadata[k] = v
198
199
  end
200
+ options[:metadata] = metadata if metadata
199
201
 
200
202
  options
201
203
  end
data/lib/s3cp/version.rb CHANGED
@@ -16,5 +16,5 @@
16
16
  # the License.
17
17
 
18
18
  module S3CP
19
- VERSION = "1.1.19"
19
+ VERSION = "1.1.20"
20
20
  end
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: 53
4
+ hash: 59
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
8
  - 1
9
- - 19
10
- version: 1.1.19
9
+ - 20
10
+ version: 1.1.20
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: 2013-02-06 00:00:00 Z
18
+ date: 2013-02-27 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  version_requirements: &id001 !ruby/object:Gem::Requirement
@@ -54,12 +54,12 @@ dependencies:
54
54
  requirements:
55
55
  - - ~>
56
56
  - !ruby/object:Gem::Version
57
- hash: 53
57
+ hash: 49
58
58
  segments:
59
59
  - 1
60
60
  - 8
61
- - 1
62
- version: 1.8.1
61
+ - 3
62
+ version: 1.8.3
63
63
  requirement: *id003
64
64
  type: :runtime
65
65
  prerelease: false