<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -2,9 +2,9 @@ require &quot;thor&quot;
 require &quot;cliaws&quot;
 
 module Cliaws
-	module Cli
-		class S3 &lt; Thor
-			map [&quot;-h&quot;, &quot;--help&quot;] =&gt; :help
+  module Cli
+    class S3 &lt; Thor
+      map [&quot;-h&quot;, &quot;--help&quot;] =&gt; :help
 
       desc &quot;buckets&quot;, &lt;&lt;EOD
 Returns a list of bucket names.
@@ -32,16 +32,16 @@ EOD
         bucket.delete(options[:force])
       end
 
-			desc &quot;url S3_OBJECT_PATH&quot;, &lt;&lt;EOD
+      desc &quot;url S3_OBJECT_PATH&quot;, &lt;&lt;EOD
 Returns a signed, private, URL to the given S3 object that is valid for 24 hours.
 EOD
-			def url(s3_object)
-				puts Cliaws.s3.url(s3_object)
-			rescue Cliaws::S3::UnknownBucket
-				abort &quot;Could not find bucket named #{$!.bucket_name}&quot;
-			end
+      def url(s3_object)
+        puts Cliaws.s3.url(s3_object)
+      rescue Cliaws::S3::UnknownBucket
+        abort &quot;Could not find bucket named #{$!.bucket_name}&quot;
+      end
 
-			desc &quot;list [S3_OBJECT_PATH_PREFIX]&quot;, &lt;&lt;EOD
+      desc &quot;list [S3_OBJECT_PATH_PREFIX]&quot;, &lt;&lt;EOD
 Lists all S3 objects that start with the given string.
 
 EXAMPLES
@@ -61,24 +61,24 @@ photos/johnson_and_us.jpg
 $ clis3 list vacation/p
 photos/johnson_and_us.jpg
 EOD
-			def list(prefix=&quot;&quot;)
-				puts Cliaws.s3.list(prefix)
-			rescue Cliaws::S3::UnknownBucket
-				abort &quot;Could not find bucket named #{$!.bucket_name}&quot;
-			end
+      def list(prefix=&quot;&quot;)
+        puts Cliaws.s3.list(prefix)
+      rescue Cliaws::S3::UnknownBucket
+        abort &quot;Could not find bucket named #{$!.bucket_name}&quot;
+      end
 
-			desc &quot;touch S3_OBJECT_PATH&quot;, &lt;&lt;EOD
+      desc &quot;touch S3_OBJECT_PATH&quot;, &lt;&lt;EOD
 Creates or OVERWRITES a named file at the specified path.
 
 WARNING: If the file already exists, IT WILL BE OVERWRITTEN with no content.
 EOD
-			def touch(s3_object)
-				Cliaws.s3.put(&quot;&quot;, s3_object)
-			rescue Cliaws::S3::UnknownBucket
-				abort &quot;Could not find bucket named #{$!.bucket_name}&quot;
-			end
+      def touch(s3_object)
+        Cliaws.s3.put(&quot;&quot;, s3_object)
+      rescue Cliaws::S3::UnknownBucket
+        abort &quot;Could not find bucket named #{$!.bucket_name}&quot;
+      end
 
-			desc &quot;put [LOCAL_FILE [LOCAL_FILE ...]] S3_PATH&quot;, &lt;&lt;EOD
+      desc &quot;put [LOCAL_FILE [LOCAL_FILE ...]] S3_PATH&quot;, &lt;&lt;EOD
 Puts one or more named local files, or a simple string, to a path.
 
 This method has the same interface as cp(1).
@@ -91,108 +91,108 @@ $ clis3 put photos/peter.jpg photos/sarah.jpg vacation/2009/photos/hosts
 $ clis3 put movies vacation/2009/movies
 EOD
       method_options :data =&gt; :string
-			def put(*args)
-				paths = args
-				s3_object = paths.pop
-
-				single_put_mapper = lambda do |source, s3_path|
-					raise ArgumentError, &quot;Writing directly from STDIN is forbidden when STDIN's size is unknown.  The RightAws library will write a zero-byte file to Amazon's servers.&quot; unless source.respond_to?(:lstat) || source.respond_to?(:size)
-					s3_path
-				end
-
-				multi_put_mapper  = lambda do |source, s3_path|
-					if source.respond_to?(:path) then
-						File.join(s3_path, File.basename(source.path))
-					else
-						raise ArgumentError, &quot;Cannot write to a directory when one or more sources are not files: #{source.inspect}&quot;
-					end
-				end
-
-				if options[:data] &amp;&amp; !paths.empty? then
-					raise ArgumentError, &quot;Cannot specify both --data and filename(s) to send.&quot;
-				elsif options[:data] then
-					sources = [StringIO.new(options[:data])]
-					mapper  = single_put_mapper
-				elsif paths == [&quot;-&quot;] then
-					sources = [STDIN]
-					mapper  = single_put_mapper
-				else
-					targets = paths.map {|filename| filename.to_s}
-					case targets.length
-					when 0
-						sources = [STDIN]
-						mapper  = single_put_mapper
-					when 1
-						sources = targets.map {|target| File.open(target, &quot;rb&quot;)}
-						mapper  = single_put_mapper
-					else
-						sources = targets.map {|target| File.open(target, &quot;rb&quot;)}
-						mapper  = multi_put_mapper
-					end
-				end
-
-				sources.each do |source|
-					target = mapper.call(source, s3_object)
-					if source.respond_to?(:path) then
-						puts &quot;#{source.path} =&gt; #{target}&quot;
-					else
-						puts &quot;STDIN =&gt; #{target}&quot;
-					end
-
-					Cliaws.s3.put(source, target)
-				end
-			rescue Cliaws::S3::UnknownBucket
-				abort &quot;Could not find bucket named #{$!.bucket_name}&quot;
-			end
-
-			desc &quot;rm S3_OBJECT [S3_OBJECT ...]&quot;, &lt;&lt;EOD
+      def put(*args)
+        paths = args
+        s3_object = paths.pop
+
+        single_put_mapper = lambda do |source, s3_path|
+          raise ArgumentError, &quot;Writing directly from STDIN is forbidden when STDIN's size is unknown.  The RightAws library will write a zero-byte file to Amazon's servers.&quot; unless source.respond_to?(:lstat) || source.respond_to?(:size)
+          s3_path
+        end
+
+        multi_put_mapper  = lambda do |source, s3_path|
+          if source.respond_to?(:path) then
+            File.join(s3_path, File.basename(source.path))
+          else
+            raise ArgumentError, &quot;Cannot write to a directory when one or more sources are not files: #{source.inspect}&quot;
+          end
+        end
+
+        if options[:data] &amp;&amp; !paths.empty? then
+          raise ArgumentError, &quot;Cannot specify both --data and filename(s) to send.&quot;
+        elsif options[:data] then
+          sources = [StringIO.new(options[:data])]
+          mapper  = single_put_mapper
+        elsif paths == [&quot;-&quot;] then
+          sources = [STDIN]
+          mapper  = single_put_mapper
+        else
+          targets = paths.map {|filename| filename.to_s}
+          case targets.length
+          when 0
+            sources = [STDIN]
+            mapper  = single_put_mapper
+          when 1
+            sources = targets.map {|target| File.open(target, &quot;rb&quot;)}
+            mapper  = single_put_mapper
+          else
+            sources = targets.map {|target| File.open(target, &quot;rb&quot;)}
+            mapper  = multi_put_mapper
+          end
+        end
+
+        sources.each do |source|
+          target = mapper.call(source, s3_object)
+          if source.respond_to?(:path) then
+            puts &quot;#{source.path} =&gt; #{target}&quot;
+          else
+            puts &quot;STDIN =&gt; #{target}&quot;
+          end
+
+          Cliaws.s3.put(source, target)
+        end
+      rescue Cliaws::S3::UnknownBucket
+        abort &quot;Could not find bucket named #{$!.bucket_name}&quot;
+      end
+
+      desc &quot;rm S3_OBJECT [S3_OBJECT ...]&quot;, &lt;&lt;EOD
 Deletes one or more S3 objects.
 
 Does not accept wildcards: each path to delete must be named individually.
 EOD
-			def rm(*paths)
-				paths.each do |path|
-					puts &quot;rm #{path}&quot;
-					Cliaws.s3.rm(path)
-				end
-			rescue Cliaws::S3::UnknownBucket
-				abort &quot;Could not find bucket named #{$!.bucket_name}&quot;
-			end
-
-			desc &quot;cat S3_OBJECT&quot;, &lt;&lt;EOD
+      def rm(*paths)
+        paths.each do |path|
+          puts &quot;rm #{path}&quot;
+          Cliaws.s3.rm(path)
+        end
+      rescue Cliaws::S3::UnknownBucket
+        abort &quot;Could not find bucket named #{$!.bucket_name}&quot;
+      end
+
+      desc &quot;cat S3_OBJECT&quot;, &lt;&lt;EOD
 Prints the contents of the named object to STDOUT.
 A single new line (\n) will be appended to the output.
 EOD
-			def cat(s3_object)
-				print Cliaws.s3.get(s3_object, STDOUT)
-				puts
-			rescue Cliaws::S3::UnknownBucket
-				abort &quot;Could not find bucket named #{$!.bucket_name}&quot;
-			end
-
-			desc &quot;get S3_OBJECT [LOCAL_FILE]&quot;, &lt;&lt;EOD
+      def cat(s3_object)
+        print Cliaws.s3.get(s3_object, STDOUT)
+        puts
+      rescue Cliaws::S3::UnknownBucket
+        abort &quot;Could not find bucket named #{$!.bucket_name}&quot;
+      end
+
+      desc &quot;get S3_OBJECT [LOCAL_FILE]&quot;, &lt;&lt;EOD
 Returns the raw contents of the named object.
 
 If LOCAL_FILE is unspecified, it will default to STDOUT.
 EOD
-			def get(s3_object, local_path=nil)
-				out = if local_path then
-								File.open(local_path, &quot;wb&quot;)
-							else
-								STDOUT
-							end
-
-				Cliaws.s3.get(s3_object, out)
-			rescue Cliaws::S3::UnknownBucket
-				abort &quot;Could not find bucket named #{$!.bucket_name}&quot;
-			end
-
-			desc &quot;head S3_OBJECT&quot;, &quot;Returns a YAML representation of meta data that Amazon keeps about the named object&quot;
-			def head(s3_object)
-				puts Cliaws.s3.head(s3_object).to_yaml
-			rescue Cliaws::S3::UnknownBucket
-				abort &quot;Could not find bucket named #{$!.bucket_name}&quot;
-			end
+      def get(s3_object, local_path=nil)
+        out = if local_path then
+                File.open(local_path, &quot;wb&quot;)
+              else
+                STDOUT
+              end
+
+        Cliaws.s3.get(s3_object, out)
+      rescue Cliaws::S3::UnknownBucket
+        abort &quot;Could not find bucket named #{$!.bucket_name}&quot;
+      end
+
+      desc &quot;head S3_OBJECT&quot;, &quot;Returns a YAML representation of meta data that Amazon keeps about the named object&quot;
+      def head(s3_object)
+        puts Cliaws.s3.head(s3_object).to_yaml
+      rescue Cliaws::S3::UnknownBucket
+        abort &quot;Could not find bucket named #{$!.bucket_name}&quot;
+      end
 
       desc &quot;grants BUCKET|KEY&quot;, &lt;&lt;EOD
 Returns a YAML representation of grants assigned to a bucket or key.
@@ -249,6 +249,6 @@ EOD
         Cliaws.s3.grant(thing, who =&gt; permissions.map {|perm| perm.gsub('_', '-')})
         grants(thing)
       end
-		end
-	end
+    end
+  end
 end</diff>
      <filename>lib/cliaws/cli/s3.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>6661114ed2c533179d7cbbc84a6e577fd2573dd4</id>
    </parent>
  </parents>
  <author>
    <name>Fran&#231;ois Beausoleil</name>
    <email>francois@teksol.info</email>
  </author>
  <url>http://github.com/francois/cliaws/commit/935cb28a127864f5da9b503e37fe02f69aebb2d0</url>
  <id>935cb28a127864f5da9b503e37fe02f69aebb2d0</id>
  <committed-date>2009-09-18T13:14:50-07:00</committed-date>
  <authored-date>2009-09-18T13:14:50-07:00</authored-date>
  <message>tabs to spaces (WTF vim, can't you read?)</message>
  <tree>01e1cc1705d4f3648c47f3a9c47626552c589fe0</tree>
  <committer>
    <name>Fran&#231;ois Beausoleil</name>
    <email>francois@teksol.info</email>
  </committer>
</commit>
