From b28f2d915f3fa9a9f97f2ef85f01760cbdad8c7f Mon Sep 17 00:00:00 2001
From: "philipp.goymann" <philipp.goymann@mpi-bn.mpg.de>
Date: Mon, 31 Oct 2022 21:39:40 +0100
Subject: [PATCH] add upload file counter

---
 loosolab_s3/cmd.py          | 6 ++++++
 loosolab_s3/s3_functions.py | 3 ++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/loosolab_s3/cmd.py b/loosolab_s3/cmd.py
index edd9d7d..8033c64 100644
--- a/loosolab_s3/cmd.py
+++ b/loosolab_s3/cmd.py
@@ -36,6 +36,10 @@ def run_s3_functions():
             print('Bucket ' +  args.bucketname + ' exists!')
         else:
             print('Bucket ' +  args.bucketname + ' dont exists!')
+    
+    if args.upload:
+        utils.check_argparser(args, ['secret', "key", "files", "bucketname"])
+        s3.upload_s3_objects(args.bucketname, args.files)
 
 #--------------------------------------------------------------------------------------------------------#
 # parse command line arguments:
@@ -48,9 +52,11 @@ def argparsefunc():
     parser.add_argument("--endpoint", help="URL S3",default='https://s3.mpi-bn.mpg.de')
 
     #actions
+    parser.add_argument("--upload", action='store_true', help="upload files to bucket")
     parser.add_argument("--bucket_exists", action='store_true', help="check if bucket exists")
 
     #values
+    parser.add_argument("--files", nargs='+', help="bucket upload files")
     parser.add_argument("--bucketname")
     parser.add_argument("--no_log", action='store_true', help='disable logging')
 
diff --git a/loosolab_s3/s3_functions.py b/loosolab_s3/s3_functions.py
index e74c0aa..3c9ca08 100644
--- a/loosolab_s3/s3_functions.py
+++ b/loosolab_s3/s3_functions.py
@@ -432,6 +432,7 @@ class Loosolab_s3:
 		if not self.check_s3_bucket_ex(bucket_name):
 			self.__exception_log__("Bucket for upload does not exist!")
 			return
+		count = 1 
 		for local_file_name in file_list:
 			try:
 				file_name = os.path.basename(local_file_name)
@@ -443,7 +444,7 @@ class Loosolab_s3:
 					else:
 						self.transfer.upload_file(local_file_name, bucket_name, file_name)
 						#self.session.Bucket(bucket_name).upload_file(local_file_name, file_name, Config=self.transfer)
-					self.logger.info("File " + str(local_file_name) + ' gets uploaded!')
+					self.logger.info("File " + str(local_file_name) + ' gets uploaded! ' + str(count) + ' of ' + str(len(file_list)))
 			except Exception as e:
 				self.__exception_log__("S3: Uploading files failed!" ,e)
 				return
-- 
GitLab