s3cp 1.1.19 → 1.1.20

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.
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