← Back to team overview

duplicity-team team mailing list archive

[Merge] lp:~marix/duplicity/azure-storage-0.30.0-plus into lp:duplicity

 

Matthias Bach has proposed merging lp:~marix/duplicity/azure-storage-0.30.0-plus into lp:duplicity.

Requested reviews:
  duplicity-team (duplicity-team)

For more details, see:
https://code.launchpad.net/~marix/duplicity/azure-storage-0.30.0-plus/+merge/317129

This branch make the Azure backend compatible with version 0.30.0 and up of the underlying azure-storage package.

Linux distributions won't ship older version of azure-storage forever. Thus duplicity will no longer be usable on newer distributions as long as it does not support current versions of the azure-storage package.

It can be easily tested by starting a backup to an azure bucket having a recent version of azure-storage installed. E.g. in a test virtualenv:
* pip install -U azure-storage
* duplicity <some dir> azure://<some container>
-- 
Your team duplicity-team is requested to review the proposed merge of lp:~marix/duplicity/azure-storage-0.30.0-plus into lp:duplicity.
=== modified file 'duplicity/backends/azurebackend.py'
--- duplicity/backends/azurebackend.py	2016-05-11 21:07:04 +0000
+++ duplicity/backends/azurebackend.py	2017-02-13 16:39:23 +0000
@@ -44,7 +44,11 @@
                 self.AzureConflictError = azure.WindowsAzureConflictError
             else:
                 # v1.0.0 and above
-                from azure.storage.blob import BlobService
+                import azure.storage.blob
+                if hasattr(azure.storage.blob, 'BlobService'):
+                    from azure.storage.blob import BlobService
+                else:
+                    from azure.storage.blob.blockblobservice import BlockBlobService as BlobService
                 self.AzureMissingResourceError = azure.common.AzureMissingResourceHttpError
                 self.AzureConflictError = azure.common.AzureConflictHttpError
         except ImportError:


Follow ups