From 9a397970bc0b6a1a0c8a69996b3d23eb156b2e8a Mon Sep 17 00:00:00 2001 From: vrenaville Date: Mon, 24 Jan 2022 16:16:34 +0100 Subject: [PATCH] fix: do not raise error if credentials are not set on read/write --- attachment_azure/models/ir_attachment.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/attachment_azure/models/ir_attachment.py b/attachment_azure/models/ir_attachment.py index 100cdc8..db49010 100644 --- a/attachment_azure/models/ir_attachment.py +++ b/attachment_azure/models/ir_attachment.py @@ -132,7 +132,14 @@ class IrAttachment(models.Model): def _get_azure_container(self, container_name=None): if not container_name: container_name = self._get_container_name() - blob_service_client = self._get_blob_service_client() + try: + blob_service_client = self._get_blob_service_client() + except exceptions.UserError: + _logger.exception( + "error accessing to storage '%s' please check credentials ", + container_name + ) + return False container_client = blob_service_client.get_container_client(container_name) if not container_client.exists(): try: @@ -152,6 +159,9 @@ class IrAttachment(models.Model): else: container_name = None container_client = self._get_azure_container(container_name) + # if container cannot be retrived, abort reading from azure storage + if not container_client: + return '' try: blob_client = container_client.get_blob_client(key) if bin_size: @@ -199,6 +209,8 @@ class IrAttachment(models.Model): else: container_name = None container_client = self._get_azure_container(container_name) + if not container_client: + return '' # delete the file only if it is on the current configured container # otherwise, we might delete files used on a different environment try: