From 760a8add037a0d1a168f85eb2e759722ad41d4a8 Mon Sep 17 00:00:00 2001 From: Kevin Chung Date: Fri, 7 Dec 2018 03:08:16 -0500 Subject: [PATCH] Fix S3 sync function to only sync down full files (#788) * Fix S3 sync function to only pull down files --- CTFd/utils/uploads/uploaders.py | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/CTFd/utils/uploads/uploaders.py b/CTFd/utils/uploads/uploaders.py index e080ce02..afa9e0a2 100644 --- a/CTFd/utils/uploads/uploaders.py +++ b/CTFd/utils/uploads/uploaders.py @@ -128,10 +128,11 @@ class S3Uploader(BaseUploader): for s3_key in bucket_list: s3_object = s3_key['Key'] + # We don't want to download any directories + if s3_object.endswith('/') is False: + local_path = os.path.join(local_folder, s3_object) + directory = os.path.dirname(local_path) + if not os.path.exists(directory): + os.makedirs(directory) - local_path = os.path.join(local_folder, s3_object) - directory = os.path.dirname(local_path) - if not os.path.exists(directory): - os.makedirs(directory) - - self.s3.download_file(self.bucket, s3_object, local_path) + self.s3.download_file(self.bucket, s3_object, local_path)