From d6db5056c920ea72cd11ed70062f09e5b89580bc Mon Sep 17 00:00:00 2001 From: raul-martin-dev Date: Fri, 26 Jan 2024 08:54:01 +0000 Subject: [PATCH] update=False now working again --- Driveup/drive.py | 19 ++++++------------- Driveup/features/service.py | 8 ++++++-- tests/drive_test.py | 2 +- 3 files changed, 13 insertions(+), 16 deletions(-) diff --git a/Driveup/drive.py b/Driveup/drive.py index 376e195..9d39267 100644 --- a/Driveup/drive.py +++ b/Driveup/drive.py @@ -88,22 +88,13 @@ def upload(self,file_path: Union[str, List[str]],folder_id:Union[str, List[str]] pbar.update(10) drive_service = self.drive_service - # # possible refactor - # if update == True: - # file_metadata = service.get_update(file_title,file_id,folder_id,drive_service,self.mode) - - # Fill metadata for file creation + file_metadata = {} file_metadata['name'] = file_title file_metadata['parents'] = folder_id if self.mode == 'service' else [folder_id] if file_id != None: file_metadata['id'] = file_id - # if self.mode == 'client': - # file_metadata = {'name': file_title,'parents': [folder_id]} - # else: - # file_metadata = {'name': file_title,'parents': folder_id} - file_extension = utils.get_file_extension(file_path) if convert == True: @@ -115,10 +106,12 @@ def upload(self,file_path: Union[str, List[str]],folder_id:Union[str, List[str]] pbar.update(40) - if duplicate_check: + if duplicate_check and update == True: file_id = file_metadata['id'] gfile = self.update(file_path,file_id) - else: + else: + if update == False: + del file_metadata['id'] media = MediaFileUpload(file_path, resumable=True) gfile = drive_service.files().create(body=file_metadata, media_body=media, fields='id',supportsAllDrives=True).execute() @@ -243,7 +236,7 @@ def upload_folder(self,local_folder_path :str,folder_id :str,update : bool =True # uploaded_files_counter += 1 # print(f"\n\nUploading folder's files : {uploaded_files_counter}/{total_files_to_upload_count}") try: - self.upload(file_path,folder_id,update=update,convert=convert,url=False) # url=False -> not checking everytime + self.upload(file_path,folder_id,convert=convert,url=False) # url=False -> not checking everytime except Exception as e: print(f"Error uploading file: {file_path}\nERROR: {e}") pbar.update(1) diff --git a/Driveup/features/service.py b/Driveup/features/service.py index 8d0297d..6971b5a 100644 --- a/Driveup/features/service.py +++ b/Driveup/features/service.py @@ -165,7 +165,11 @@ def create_subfolder(subfolder_name,subfolder_id,parent_folder_id,update,service # subfolder_metadata = {'name': subfolder_name, 'mimeType': 'application/vnd.google-apps.folder', 'parents': [parent_folder_id]} - duplicate_check, subfolder_metadata = find_duplicate(subfolder_metadata,service) + if update == True: + duplicate_check, subfolder_metadata = find_duplicate(subfolder_metadata,service) + else: + duplicate_check = False + subfolder_metadata.pop('id',None) if duplicate_check == False: subfolder_metadata['parents'] = [subfolder_metadata['parents']] @@ -176,7 +180,7 @@ def create_subfolder(subfolder_name,subfolder_id,parent_folder_id,update,service file_id = subfolder_metadata.get('id') subfolder_metadata = service.files().update(fileId=file_id,removeParents=old_parents,addParents=old_parents,supportsAllDrives=True).execute() - + print(subfolder_metadata) return subfolder_metadata['id'] # if subfolder == None: diff --git a/tests/drive_test.py b/tests/drive_test.py index 581d13a..fd57302 100644 --- a/tests/drive_test.py +++ b/tests/drive_test.py @@ -148,7 +148,7 @@ def test_reupload_folder(self): drive_obj = Drive(creds) - drive_obj.upload_folder(DOWNLOAD_FOLDER_PATH,'1Qq__pF7GrOdf9LyTLWCELIk6OrYwwVe9',subfolder=False,convert=True) + drive_obj.upload_folder(DOWNLOAD_FOLDER_PATH,'1Qq__pF7GrOdf9LyTLWCELIk6OrYwwVe9',convert=True)