From 7ea183b32aa9740781b99c7de4bb735b642dc256 Mon Sep 17 00:00:00 2001 From: Chris Berry Date: Wed, 24 Jul 2019 11:52:03 +1000 Subject: [PATCH 1/3] azure cdn url return --- storages/backends/azure_storage.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/storages/backends/azure_storage.py b/storages/backends/azure_storage.py index 4f1890307..ec11646d1 100644 --- a/storages/backends/azure_storage.py +++ b/storages/backends/azure_storage.py @@ -13,7 +13,7 @@ from django.core.files.storage import Storage from django.utils import timezone from django.utils.deconstruct import deconstructible -from django.utils.encoding import force_bytes, force_text +from django.utils.encoding import force_bytes, force_text, filepath_to_uri from storages.utils import ( clean_name, get_available_overwrite_name, safe_join, setting, @@ -147,6 +147,8 @@ class AzureStorage(Storage): location = setting('AZURE_LOCATION', '') default_content_type = 'application/octet-stream' is_emulated = setting('AZURE_EMULATED_MODE', False) + cdn_domain = setting('AZURE_CDN_DOMAIN', None) + cdn_protocol = setting('AZURE_CDN_PROTOCOL', 'https') def __init__(self): self._service = None @@ -252,6 +254,10 @@ def url(self, name, expire=None): name = self._get_valid_path(name) if expire is None: + if self.cdn_domain: + return "%s://%s/%s" % (self.cdn_protocol, + self.cdn_domain, filepath_to_uri(name)) + expire = self.expiration_secs make_blob_url_kwargs = {} From 6a601bb8d79fa228836853495f68dc8fe9eacec3 Mon Sep 17 00:00:00 2001 From: Chris Berry Date: Wed, 24 Jul 2019 13:23:46 +1000 Subject: [PATCH 2/3] added azure_container to url --- storages/backends/azure_storage.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/storages/backends/azure_storage.py b/storages/backends/azure_storage.py index ec11646d1..7c4933fd2 100644 --- a/storages/backends/azure_storage.py +++ b/storages/backends/azure_storage.py @@ -255,8 +255,8 @@ def url(self, name, expire=None): if expire is None: if self.cdn_domain: - return "%s://%s/%s" % (self.cdn_protocol, - self.cdn_domain, filepath_to_uri(name)) + return "%s://%s/%s/%s" % (self.cdn_protocol, self.cdn_domain, + self.azure_container, filepath_to_uri(name)) expire = self.expiration_secs From 5114c749dc8f2bdc6ce2a1a0e7c59f1858e2dabd Mon Sep 17 00:00:00 2001 From: Chris Berry Date: Thu, 25 Jul 2019 11:35:58 +1000 Subject: [PATCH 3/3] fixed indent --- storages/backends/azure_storage.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/storages/backends/azure_storage.py b/storages/backends/azure_storage.py index 7c4933fd2..cd4a9da04 100644 --- a/storages/backends/azure_storage.py +++ b/storages/backends/azure_storage.py @@ -256,7 +256,7 @@ def url(self, name, expire=None): if expire is None: if self.cdn_domain: return "%s://%s/%s/%s" % (self.cdn_protocol, self.cdn_domain, - self.azure_container, filepath_to_uri(name)) + self.azure_container, filepath_to_uri(name)) expire = self.expiration_secs