Skip to content

Commit 2fddd06

Browse files
Fixed upload of empty files for Team Drive
Signed-off-by: lzzy12 <[email protected]>
1 parent 8cbe2c2 commit 2fddd06

File tree

1 file changed

+19
-27
lines changed

1 file changed

+19
-27
lines changed

bot/helper/mirror_utils/upload_utils/gdriveTools.py

Lines changed: 19 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,16 @@
1-
from googleapiclient.discovery import build
2-
from google_auth_oauthlib.flow import InstalledAppFlow
1+
import os
2+
import pickle
3+
34
from google.auth.transport.requests import Request
4-
from googleapiclient.http import MediaFileUpload
5+
from google_auth_oauthlib.flow import InstalledAppFlow
6+
from googleapiclient.discovery import build
57
from googleapiclient.errors import HttpError
6-
import pickle
7-
import os
8+
from googleapiclient.http import MediaFileUpload
89
from tenacity import *
9-
import threading
10+
1011
from bot import LOGGER, parent_id, DOWNLOAD_DIR, IS_TEAM_DRIVE, INDEX_URL, DOWNLOAD_STATUS_UPDATE_INTERVAL
11-
from bot.helper.ext_utils.fs_utils import get_mime_type
1212
from bot.helper.ext_utils.bot_utils import *
13+
from bot.helper.ext_utils.fs_utils import get_mime_type
1314

1415
logging.getLogger('googleapiclient.discovery').setLevel(logging.ERROR)
1516

@@ -52,7 +53,8 @@ def speed(self):
5253
except ZeroDivisionError:
5354
return 0
5455

55-
@retry(wait=wait_exponential(multiplier=2, min=3, max=6),stop=stop_after_attempt(5),retry=retry_if_exception_type(HttpError),before=before_log(LOGGER,logging.DEBUG))
56+
@retry(wait=wait_exponential(multiplier=2, min=3, max=6), stop=stop_after_attempt(5),
57+
retry=retry_if_exception_type(HttpError), before=before_log(LOGGER, logging.DEBUG))
5658
def _on_upload_progress(self):
5759
if self.status is not None:
5860
chunk_size = self.status.total_size * self.status.progress() - self._file_uploaded_bytes
@@ -61,21 +63,8 @@ def _on_upload_progress(self):
6163
self.uploaded_bytes += chunk_size
6264
self.total_time += self.update_interval
6365

64-
def __upload_empty_file(self, path, file_name, mime_type, parent_id=None):
65-
media_body = MediaFileUpload(path,
66-
mimetype=mime_type,
67-
resumable=False)
68-
file_metadata = {
69-
'name': file_name,
70-
'description': 'mirror',
71-
'mimeType': mime_type,
72-
}
73-
if parent_id is not None:
74-
file_metadata['parents'] = [parent_id]
75-
return self.__service.files().create(supportsTeamDrives=True,
76-
body=file_metadata, media_body=media_body).execute()
77-
78-
@retry(wait=wait_exponential(multiplier=2, min=3, max=6),stop=stop_after_attempt(5),retry=retry_if_exception_type(HttpError),before=before_log(LOGGER,logging.DEBUG))
66+
@retry(wait=wait_exponential(multiplier=2, min=3, max=6), stop=stop_after_attempt(5),
67+
retry=retry_if_exception_type(HttpError), before=before_log(LOGGER, logging.DEBUG))
7968
def __set_permission(self, drive_id):
8069
permissions = {
8170
'role': 'reader',
@@ -85,7 +74,8 @@ def __set_permission(self, drive_id):
8574
}
8675
return self.__service.permissions().create(supportsTeamDrives=True, fileId=drive_id, body=permissions).execute()
8776

88-
@retry(wait=wait_exponential(multiplier=2, min=3, max=6),stop=stop_after_attempt(5),retry=retry_if_exception_type(HttpError),before=before_log(LOGGER,logging.DEBUG))
77+
@retry(wait=wait_exponential(multiplier=2, min=3, max=6), stop=stop_after_attempt(5),
78+
retry=retry_if_exception_type(HttpError), before=before_log(LOGGER, logging.DEBUG))
8979
def upload_file(self, file_path, file_name, mime_type, parent_id):
9080
# File body description
9181
file_metadata = {
@@ -104,13 +94,14 @@ def upload_file(self, file_path, file_name, mime_type, parent_id):
10494
body=file_metadata, media_body=media_body).execute()
10595
if not IS_TEAM_DRIVE:
10696
self.__set_permission(response['id'])
107-
drive_file = self.__service.files().get(fileId=response['id']).execute()
97+
drive_file = self.__service.files().get(supportsTeamDrives=True,
98+
fileId=response['id']).execute()
10899
download_url = self.__G_DRIVE_BASE_DOWNLOAD_URL.format(drive_file.get('id'))
109100
return download_url
110101
media_body = MediaFileUpload(file_path,
111102
mimetype=mime_type,
112103
resumable=True,
113-
chunksize=50*1024*1024)
104+
chunksize=50 * 1024 * 1024)
114105

115106
# Insert a file
116107
drive_file = self.__service.files().create(supportsTeamDrives=True,
@@ -170,7 +161,8 @@ def upload(self, file_name: str):
170161
LOGGER.info("Deleting downloaded file/folder..")
171162
return link
172163

173-
@retry(wait=wait_exponential(multiplier=2, min=3, max=6),stop=stop_after_attempt(5),retry=retry_if_exception_type(HttpError),before=before_log(LOGGER,logging.DEBUG))
164+
@retry(wait=wait_exponential(multiplier=2, min=3, max=6), stop=stop_after_attempt(5),
165+
retry=retry_if_exception_type(HttpError), before=before_log(LOGGER, logging.DEBUG))
174166
def create_directory(self, directory_name, parent_id):
175167
file_metadata = {
176168
"name": directory_name,

0 commit comments

Comments
 (0)