s3cp 0.1.4 → 0.1.5

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