Author: tomaz
Date: Sat Apr 9 13:18:25 2011
New Revision: 1090584
URL: http://svn.apache.org/viewvc?rev=1090584&view=rev
Log:
Add download_object method to the S3 driver.
Modified:
incubator/libcloud/trunk/libcloud/storage/drivers/s3.py
Modified: incubator/libcloud/trunk/libcloud/storage/drivers/s3.py
URL:
http://svn.apache.org/viewvc/incubator/libcloud/trunk/libcloud/storage/drivers/s3.py?rev=1090584&r1=1090583&r2=1090584&view=diff
==============================================================================
--- incubator/libcloud/trunk/libcloud/storage/drivers/s3.py (original)
+++ incubator/libcloud/trunk/libcloud/storage/drivers/s3.py Sat Apr 9 13:18:25
2011
@@ -223,6 +223,24 @@ class S3StorageDriver(StorageDriver):
return False
+ def download_object(self, obj, destination_path, overwrite_existing=False,
+ delete_on_failure=True):
+ container_name = self._clean_name(obj.container.name)
+ object_name = self._clean_name(obj.name)
+
+ response = self.connection.request('/%s/%s' % (container_name,
+ object_name),
+ method='GET',
+ raw=True)
+
+ return self._get_object(obj=obj, callback=self._save_object,
+ response=response,
+ callback_kwargs={'obj': obj,
+ 'destination_path': destination_path,
+ 'overwrite_existing': overwrite_existing,
+ 'delete_on_failure': delete_on_failure},
+ success_status_code=httplib.OK)
+
def delete_object(self, obj):
object_name = self._clean_name(name=obj.name)
response = self.connection.request('/%s/%s' % (obj.container.name,