You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by to...@apache.org on 2013/02/08 16:58:48 UTC
svn commit: r1444088 - in /libcloud/branches/0.12.x: ./ libcloud/common/
libcloud/storage/ libcloud/storage/drivers/ libcloud/test/
libcloud/test/storage/ libcloud/test/storage/fixtures/azure_blobs/
Author: tomaz
Date: Fri Feb 8 15:58:47 2013
New Revision: 1444088
URL: http://svn.apache.org/r1444088
Log:
Backport changes from trunk.
Added:
libcloud/branches/0.12.x/libcloud/common/azure.py
- copied unchanged from r1444080, libcloud/trunk/libcloud/common/azure.py
libcloud/branches/0.12.x/libcloud/storage/drivers/azure_blobs.py
- copied unchanged from r1444080, libcloud/trunk/libcloud/storage/drivers/azure_blobs.py
libcloud/branches/0.12.x/libcloud/test/storage/fixtures/azure_blobs/
- copied from r1444080, libcloud/trunk/libcloud/test/storage/fixtures/azure_blobs/
libcloud/branches/0.12.x/libcloud/test/storage/fixtures/azure_blobs/list_containers_1.xml
- copied unchanged from r1444080, libcloud/trunk/libcloud/test/storage/fixtures/azure_blobs/list_containers_1.xml
libcloud/branches/0.12.x/libcloud/test/storage/fixtures/azure_blobs/list_containers_2.xml
- copied unchanged from r1444080, libcloud/trunk/libcloud/test/storage/fixtures/azure_blobs/list_containers_2.xml
libcloud/branches/0.12.x/libcloud/test/storage/fixtures/azure_blobs/list_containers_empty.xml
- copied unchanged from r1444080, libcloud/trunk/libcloud/test/storage/fixtures/azure_blobs/list_containers_empty.xml
libcloud/branches/0.12.x/libcloud/test/storage/fixtures/azure_blobs/list_objects_1.xml
- copied unchanged from r1444080, libcloud/trunk/libcloud/test/storage/fixtures/azure_blobs/list_objects_1.xml
libcloud/branches/0.12.x/libcloud/test/storage/fixtures/azure_blobs/list_objects_2.xml
- copied unchanged from r1444080, libcloud/trunk/libcloud/test/storage/fixtures/azure_blobs/list_objects_2.xml
libcloud/branches/0.12.x/libcloud/test/storage/fixtures/azure_blobs/list_objects_empty.xml
- copied unchanged from r1444080, libcloud/trunk/libcloud/test/storage/fixtures/azure_blobs/list_objects_empty.xml
libcloud/branches/0.12.x/libcloud/test/storage/test_azure_blobs.py
- copied unchanged from r1444080, libcloud/trunk/libcloud/test/storage/test_azure_blobs.py
Modified:
libcloud/branches/0.12.x/ (props changed)
libcloud/branches/0.12.x/CHANGES
libcloud/branches/0.12.x/libcloud/storage/base.py
libcloud/branches/0.12.x/libcloud/storage/providers.py
libcloud/branches/0.12.x/libcloud/storage/types.py
libcloud/branches/0.12.x/libcloud/test/secrets.py-dist
Propchange: libcloud/branches/0.12.x/
------------------------------------------------------------------------------
Merged /libcloud/trunk:r1443563-1444080
Modified: libcloud/branches/0.12.x/CHANGES
URL: http://svn.apache.org/viewvc/libcloud/branches/0.12.x/CHANGES?rev=1444088&r1=1444087&r2=1444088&view=diff
==============================================================================
--- libcloud/branches/0.12.x/CHANGES (original)
+++ libcloud/branches/0.12.x/CHANGES Fri Feb 8 15:58:47 2013
@@ -182,6 +182,10 @@ Changes with Apache Libcloud 0.12.0:
(LIBCLOUD-269)
[Mahendra M]
+ - Add new driver for Windows Azure Storage with support for block and page
+ blobs. (LIBCLOUD-80)
+ [Mahendra M]
+
*) DNS
- Update 'if type' checks in the update_record methods to behave correctly
Modified: libcloud/branches/0.12.x/libcloud/storage/base.py
URL: http://svn.apache.org/viewvc/libcloud/branches/0.12.x/libcloud/storage/base.py?rev=1444088&r1=1444087&r2=1444088&view=diff
==============================================================================
--- libcloud/branches/0.12.x/libcloud/storage/base.py (original)
+++ libcloud/branches/0.12.x/libcloud/storage/base.py Fri Feb 8 15:58:47 2013
@@ -134,13 +134,14 @@ class Container(object):
return self.driver.get_object(container_name=self.name,
object_name=object_name)
- def upload_object(self, file_path, object_name, extra=None):
+ def upload_object(self, file_path, object_name, extra=None, **kwargs):
return self.driver.upload_object(
- file_path, self, object_name, extra)
+ file_path, self, object_name, extra=extra, **kwargs)
- def upload_object_via_stream(self, iterator, object_name, extra=None):
+ def upload_object_via_stream(self, iterator, object_name, extra=None,
+ **kwargs):
return self.driver.upload_object_via_stream(
- iterator, self, object_name, extra)
+ iterator, self, object_name, extra=extra, **kwargs)
def download_object(self, obj, destination_path, overwrite_existing=False,
delete_on_failure=True):
@@ -615,7 +616,7 @@ class StorageDriver(BaseDriver):
file_size = os.path.getsize(file_path)
upload_func_kwargs['chunked'] = False
- if file_size is not None:
+ if file_size is not None and 'Content-Length' not in headers:
headers['Content-Length'] = file_size
headers['Content-Type'] = content_type
@@ -676,7 +677,7 @@ class StorageDriver(BaseDriver):
return True, data_hash, bytes_transferred
def _stream_data(self, response, iterator, chunked=False,
- calculate_hash=True, chunk_size=None):
+ calculate_hash=True, chunk_size=None, data=None):
"""
Stream a data over an http connection.
Modified: libcloud/branches/0.12.x/libcloud/storage/providers.py
URL: http://svn.apache.org/viewvc/libcloud/branches/0.12.x/libcloud/storage/providers.py?rev=1444088&r1=1444087&r2=1444088&view=diff
==============================================================================
--- libcloud/branches/0.12.x/libcloud/storage/providers.py (original)
+++ libcloud/branches/0.12.x/libcloud/storage/providers.py Fri Feb 8 15:58:47 2013
@@ -40,6 +40,8 @@ DRIVERS = {
('libcloud.storage.drivers.nimbus', 'NimbusStorageDriver'),
Provider.LOCAL:
('libcloud.storage.drivers.local', 'LocalStorageDriver'),
+ Provider.AZURE_BLOBS:
+ ('libcloud.storage.drivers.azure_blobs', 'AzureBlobsStorageDriver'),
Provider.CLOUDFILES_US:
('libcloud.storage.drivers.cloudfiles', 'CloudFilesUSStorageDriver'),
Modified: libcloud/branches/0.12.x/libcloud/storage/types.py
URL: http://svn.apache.org/viewvc/libcloud/branches/0.12.x/libcloud/storage/types.py?rev=1444088&r1=1444087&r2=1444088&view=diff
==============================================================================
--- libcloud/branches/0.12.x/libcloud/storage/types.py (original)
+++ libcloud/branches/0.12.x/libcloud/storage/types.py Fri Feb 8 15:58:47 2013
@@ -55,6 +55,7 @@ class Provider(object):
S3_US_WEST_OREGON = 's3_us_west_oregon'
NIMBUS = 'nimbus'
LOCAL = 'local'
+ AZURE_BLOBS = 'azure_blobs'
CLOUDFILES_US = 'cloudfiles_us'
CLOUDFILES_UK = 'cloudfiles_uk'
Modified: libcloud/branches/0.12.x/libcloud/test/secrets.py-dist
URL: http://svn.apache.org/viewvc/libcloud/branches/0.12.x/libcloud/test/secrets.py-dist?rev=1444088&r1=1444087&r2=1444088&view=diff
==============================================================================
--- libcloud/branches/0.12.x/libcloud/test/secrets.py-dist (original)
+++ libcloud/branches/0.12.x/libcloud/test/secrets.py-dist Fri Feb 8 15:58:47 2013
@@ -44,6 +44,9 @@ HOSTVIRTUAL_PARAMS = ('key',)
STORAGE_S3_PARAMS = ('key', 'secret')
STORAGE_GOOGLE_STORAGE_PARAMS = ('key', 'secret')
+# Azure key is b64 encoded and must be decoded before signing requests
+STORAGE_AZURE_BLOBS_PARAMS = ('account', 'cGFzc3dvcmQ=')
+
# Loadbalancer
LB_BRIGHTBOX_PARAMS = ('user', 'key')
LB_ELB_PARAMS = ('access_id', 'secret', 'region')