public
Description: A command-line client for Amazon Web Services
Homepage: http://rubyforge.org/projects/cliaws
Clone URL: git://github.com/francois/cliaws.git
New clis3 url command, to return the URL to get an S3 object.
francois (author)
Mon Apr 21 18:14:26 -0700 2008
commit  54d9007748afda9ce8ee29aedf0e129d71df921c
tree    256c49c0c62884af0d2e5894cc2be764debb7489
parent  c357986d2956bfb75c8cf8dd55948eba0cdc8e1c
...
18
19
20
 
 
 
 
 
 
21
22
23
...
18
19
20
21
22
23
24
25
26
27
28
29
0
@@ -18,6 +18,12 @@ Main {
0
     argument_required
0
   end
0
 
0
+ mode("url") do
0
+ def run
0
+ puts Cliaws.s3.url(params["s3_object"].value)
0
+ end
0
+ end
0
+
0
   mode("list") do
0
     def run
0
       puts Cliaws.s3.list(params["s3_object"].value)
...
3
4
5
 
 
 
6
7
 
 
 
 
 
 
 
8
9
10
...
43
44
45
46
 
47
48
 
 
 
 
 
 
 
 
49
50
...
3
4
5
6
7
8
9
 
10
11
12
13
14
15
16
17
18
19
...
52
53
54
 
55
56
57
58
59
60
61
62
63
64
65
66
67
0
@@ -3,8 +3,17 @@ require "activesupport"
0
 
0
 module Cliaws
0
   class S3
0
+ attr_reader :access_key_id, :secret_access_key
0
+ protected :access_key_id, :secret_access_key
0
+
0
     def initialize(access_key_id, secret_access_key)
0
- @s3 = RightAws::S3.new(access_key_id, secret_access_key, :logger => Logger.new("/dev/null"))
0
+ @access_key_id, @secret_access_key = access_key_id, secret_access_key
0
+ end
0
+
0
+ def url(full_name)
0
+ bucket_name, path = full_name.split("/", 2)
0
+ bucket = s3g.bucket(bucket_name, false)
0
+ bucket.get(path)
0
     end
0
 
0
     def list(glob)
0
@@ -43,8 +52,16 @@ module Cliaws
0
     protected
0
     def bucket_and_key_name(full_name)
0
       bucket_name, path = full_name.split("/", 2)
0
- bucket = @s3.bucket(bucket_name, false)
0
+ bucket = s3.bucket(bucket_name, false)
0
       [bucket, path]
0
     end
0
+
0
+ def s3
0
+ @s3 ||= RightAws::S3.new(access_key_id, secret_access_key, :logger => Logger.new("/dev/null"))
0
+ end
0
+
0
+ def s3g
0
+ @s3i ||= RightAws::S3Generator.new(access_key_id, secret_access_key, :logger => Logger.new("/dev/null"))
0
+ end
0
   end
0
 end

Comments

    No one has commented yet.