From 6de4ced0f509ec3c56f1888beae0f5b326558509 Mon Sep 17 00:00:00 2001 From: Akim Juillerat Date: Wed, 29 Jan 2020 12:44:26 +0100 Subject: [PATCH] fixup! attachment_s3: Add set ACL function --- attachment_s3/models/ir_attachment.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/attachment_s3/models/ir_attachment.py b/attachment_s3/models/ir_attachment.py index 993b1d5..e0b6814 100644 --- a/attachment_s3/models/ir_attachment.py +++ b/attachment_s3/models/ir_attachment.py @@ -16,6 +16,7 @@ _logger = logging.getLogger(__name__) try: import boto3 from botocore.exceptions import ClientError, EndpointConnectionError + from botocore.errorfactory import NoSuchKey except ImportError: boto3 = None # noqa ClientError = None # noqa @@ -118,6 +119,7 @@ class IrAttachment(models.Model): _logger.exception( "error getting bucket from object storage" ) + return False key = s3uri.item() try: obj = bucket.Object(key=key) @@ -126,6 +128,10 @@ class IrAttachment(models.Model): "ACL %s successfully set on object %s" % (acl, fname) ) return True + except NoSuchKey: + _logger.exception( + "Object %s does not exists on S3 bucket" % fname + ) except ClientError: _logger.exception( "Cannot set ACL %s on object %s" % (acl, fname)