From 4b9fbd4d36515629f48a1a608a1832e3f9ab1c37 Mon Sep 17 00:00:00 2001 From: ClF3 Date: Wed, 24 Apr 2024 11:16:46 +0800 Subject: [PATCH] added overwrite to sync.py --- sync.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/sync.py b/sync.py index 93873c3..dfa18ed 100644 --- a/sync.py +++ b/sync.py @@ -6,7 +6,8 @@ parser = argparse.ArgumentParser() parser.add_argument('--container', help='Name of the container', default='blog') parser.add_argument('--remote', help='Path to the remote images', default='posts') parser.add_argument('--local', help='Path to the local images', default='webp') -parser.add_argument('--ignore', help='Files to ignore', default='background.webp', action='append') +parser.add_argument('--ignore', help='Files to ignore', default=['background.webp'], action='append') +parser.add_argument('--overwrite', help='Overwrite existing images', action='store_true') args=parser.parse_args() if args.remote[-1] != '/': @@ -18,13 +19,20 @@ try: blob_service_client = BlobServiceClient.from_connection_string(connect_str) container_client = blob_service_client.get_container_client(args.container) existing_files=[blob.name.split("/")[-1] for blob in container_client.list_blobs(name_starts_with=args.remote)] - # print("Existing files in the container:") - # print(existing_files) + for root,fir,files in os.walk(args.local): for file in files: - if file in existing_files or file in args.ignore: - print("skipped: " + file) + if file in args.ignore: + print("ignored: " + file) continue + if file in existing_files: + if args.overwrite: + print("Overwriting: " + file) + blob_client = blob_service_client.get_blob_client(container=args.container, blob=args.remote+file) + blob_client.delete_blob() + else: + print("skipped: " + file) + continue try: print("Uploading: " + file) img_path = os.path.join(root,file)