s3cp 0.1.4 → 0.1.5

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,4 +1,8 @@
1
- === 0.1.5 / (Pending)
1
+ === 0.1.6 / (Pending)
2
+
3
+ === 0.1.5 / 2011-10-17
4
+
5
+ * Fixed: All commands now work properly on Ruby 1.8.x
2
6
 
3
7
  === 0.1.4 / 2011-10-17
4
8
 
data/README.md CHANGED
@@ -24,6 +24,88 @@ All commands support both `s3://bucket/path/to/file` and the legacy `bucket:path
24
24
 
25
25
  Commands are also TTY-aware; when run in an interactive shell, their behavior will change. For example, `s3cat` will launch your favorite `PAGER` or `less` (the default pager) whereas `s3ls` will display N items at a time, where N is the number of display lines on your terminal and pause between pages.
26
26
 
27
+ ### Usage ###
28
+
29
+ $ s3cp
30
+ s3cp supports 4 copying use cases:
31
+ 1. Copy from local machine to S3
32
+ 2. Copy from S3 to local machine
33
+ 3. Copy from S3 to S3
34
+ 4. Copy from local machine to another path on local machine (for completeness)
35
+
36
+ Local to S3:
37
+ s3cp LOCAL_PATH S3_PATH
38
+
39
+ S3 to Local:
40
+ s3cp S3_PATH LOCAL_PATH
41
+
42
+ S3 to S3:
43
+ s3cp S3_PATH S3_PATH2
44
+
45
+ Local to Local:
46
+ s3cp LOCAL_PATH LOCAL_PATH2
47
+
48
+
49
+ -r, --recursive Recursive mode
50
+
51
+ --headers 'Header1: Header1Value','Header2: Header2Value'
52
+ Headers to set on the item in S3.
53
+ e.g.,
54
+ HTTP headers: 'Content-Type: image/jpg'
55
+ AMZ headers: 'x-amz-acl: public-read'
56
+
57
+ --verbose Verbose mode
58
+ --debug Debug mode
59
+ -h, --help Show this message
60
+
61
+ .
62
+
63
+ $ s3ls
64
+ s3ls [path]
65
+
66
+ -l Long listing format
67
+ --date-format FORMAT Date format (see http://strfti.me/)
68
+ --verbose Verbose mode
69
+ --rows ROWS Rows per page
70
+ -h, --help Show this message
71
+
72
+ .
73
+
74
+ $ s3cat
75
+ s3cat [path]
76
+
77
+ --debug Debug mode
78
+ --tty TTY mode
79
+ -h, --help Show this message
80
+
81
+ .
82
+
83
+ $ s3mod
84
+ s3mod [path] [permission]
85
+
86
+ where [permission] is one of:
87
+
88
+ * private
89
+ * authenticated-read
90
+ * public-read
91
+ * public-read-write
92
+
93
+ -h, --help Show this message
94
+
95
+ .
96
+
97
+ $ ./_s3rm
98
+ s3rm [path]
99
+
100
+ -r, --recursive Delete S3 keys matching provided prefix.
101
+ -i, --include REGEX Delete only S3 objects matching the following regular expression.
102
+ -x, --exclude REGEX Do not delete any S3 objects matching provided regular expression.
103
+ -F, --fail-if-not-exist Fail if no S3 object match provided key, prefix and/or regex
104
+ -t, --test Only display matching keys; do not actually delete anything.
105
+ --silent Do not display keys as they are deleted.
106
+ --verbose Verbose mode
107
+ -h, --help Show this message
108
+
27
109
  ### Dependencies ###
28
110
 
29
111
  * highline `>=1.5.1` (console/terminal size guessing)
data/lib/s3cp/s3cat.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'rubygems'
2
+ require 'extensions/kernel' if RUBY_VERSION =~ /1.8/
2
3
  require 'right_aws'
3
4
  require 'optparse'
4
5
  require 'date'
data/lib/s3cp/s3cp.rb CHANGED
@@ -15,7 +15,7 @@ options[:headers] = []
15
15
 
16
16
  op = OptionParser.new do |opts|
17
17
  opts.banner = <<-BANNER
18
- s3cp supports 4 coyping use cases:
18
+ s3cp supports 4 copying use cases:
19
19
  1. Copy from local machine to S3
20
20
  2. Copy from S3 to local machine
21
21
  3. Copy from S3 to S3
@@ -36,14 +36,21 @@ op = OptionParser.new do |opts|
36
36
  BANNER
37
37
  opts.separator ''
38
38
 
39
- opts.on("-h", '--headers \'Header1: Header1Value\',\'Header2: Header2Value\'', Array, "Headers to set on the item in S3. This can include http headers like \'Content-Type: image/jpg\' or AMZ headers like: \'x-amz-acl: public-read\'" ) do |h|
40
- options[:headers] = h
39
+ opts.on("-r", "--recursive", "Recursive mode") do
40
+ options[:recursive] = true
41
41
  end
42
42
 
43
- opts.on("-r", "Recursive mode") do
44
- options[:recursive] = true
43
+ opts.separator ""
44
+
45
+ opts.on('--headers \'Header1: Header1Value\',\'Header2: Header2Value\'', Array, "Headers to set on the item in S3." ) do |h|
46
+ options[:headers] = h
45
47
  end
46
48
 
49
+ opts.separator " e.g.,"
50
+ opts.separator " HTTP headers: \'Content-Type: image/jpg\'"
51
+ opts.separator " AMZ headers: \'x-amz-acl: public-read\'"
52
+ opts.separator ""
53
+
47
54
  opts.on("--verbose", "Verbose mode") do
48
55
  options[:verbose] = true
49
56
  end
data/lib/s3cp/s3mod.rb CHANGED
@@ -1,11 +1,21 @@
1
- require 'rubygems'
2
- require 'right_aws'
1
+ require 'rubygems'
2
+ require 'extensions/kernel' if RUBY_VERSION =~ /1.8/
3
+ require 'right_aws'
3
4
  require 'optparse'
4
5
  require 's3cp/utils'
5
6
 
6
7
  op = OptionParser.new do |opts|
7
8
  opts.banner = "s3mod [path] [permission]"
8
9
 
10
+ opts.separator ""
11
+ opts.separator "where [permission] is one of:"
12
+ opts.separator ""
13
+ opts.separator " * private"
14
+ opts.separator " * authenticated-read"
15
+ opts.separator " * public-read"
16
+ opts.separator " * public-read-write"
17
+ opts.separator ""
18
+
9
19
  opts.on_tail("-h", "--help", "Show this message") do
10
20
  puts op
11
21
  exit
@@ -19,10 +29,10 @@ if ARGV.size < 2
19
29
  exit
20
30
  end
21
31
 
22
- def update_permissions(s3, bucket, key, permission)
32
+ def update_permissions(s3, bucket, key, permission)
23
33
  puts "Setting #{permission} on s3://#{bucket}/#{key}"
24
- s3.interface.copy(bucket, key, bucket, key, :replace, {"x-amz-acl" => permission })
25
- end
34
+ s3.interface.copy(bucket, key, bucket, key, :replace, {"x-amz-acl" => permission })
35
+ end
26
36
 
27
37
  source = ARGV[0]
28
38
  permission = ARGV.last
@@ -32,4 +42,4 @@ raise "Permissions must be one of the following values: #{LEGAL_MODS}" unless LE
32
42
 
33
43
  @s3 = S3CP.connect()
34
44
  bucket,key = S3CP.bucket_and_key(source)
35
- update_permissions(@s3, bucket, key, permission)
45
+ update_permissions(@s3, bucket, key, permission)
data/lib/s3cp/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
 
2
2
  module S3CP
3
- VERSION = "0.1.4"
3
+ VERSION = "0.1.5"
4
4
  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: 19
4
+ hash: 17
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 4
10
- version: 0.1.4
9
+ - 5
10
+ version: 0.1.5
11
11
  platform: ruby
12
12
  authors:
13
13
  - Alex Boisvert