aboutsummaryrefslogtreecommitdiffstats
path: root/src/extract_lambda.py
diff options
context:
space:
mode:
authorAlex Schofield <git@ajschof.me>2024-08-22 12:33:00 +0100
committerAlex Schofield <git@ajschof.me>2024-08-22 12:33:00 +0100
commit053e75bca8ef34a655bb4afda5f479f112dfb002 (patch)
tree9135f84f76ed10d12e430063d559f685f977af5f /src/extract_lambda.py
parentdc7dfe29ce977f3038fb3affd617683e8f163dc8 (diff)
downloadde-project-bentley-053e75bca8ef34a655bb4afda5f479f112dfb002.tar.gz
de-project-bentley-053e75bca8ef34a655bb4afda5f479f112dfb002.zip
fix: improve error handling for list_existing_s3_files and tests
Diffstat (limited to 'src/extract_lambda.py')
-rw-r--r--src/extract_lambda.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/extract_lambda.py b/src/extract_lambda.py
index 874098b..b20c99d 100644
--- a/src/extract_lambda.py
+++ b/src/extract_lambda.py
@@ -118,15 +118,16 @@ def list_existing_s3_files(bucket_name=None, client=None):
results of listing the contents of the s3 bucket, then
returns the populated dictionary
"""
- if client is None:
- client = boto3.client("s3")
- if bucket_name is None:
- bucket_name = extract_bucket(client)
logging.info("Listing existing S3 files")
existing_files = {}
try:
+ if client is None:
+ client = boto3.client("s3")
+ if bucket_name is None:
+ bucket_name = extract_bucket(client)
+
response = client.list_objects_v2(Bucket=bucket_name)
if "Contents" in response:
@@ -142,8 +143,11 @@ def list_existing_s3_files(bucket_name=None, client=None):
logger.error("The bucket is empty")
return None
- except ClientError as e:
- logger.error(f"Error listing S3 objects: {e}")
+ except ValueError as ve:
+ logger.error(f"Error listing S3 objects: {ve}")
+ raise
+ except ClientError as ce:
+ logger.error(f"Error listing S3 objects: {ce}")
return existing_files
git.ajschof.me — hosted by ajschofield — powered by cgit