From a54fc42e1e7f0bfa90bcb396e78d2b13e4da0cf6 Mon Sep 17 00:00:00 2001 From: lzzy12 Date: Tue, 31 Mar 2020 15:05:57 +0530 Subject: [PATCH] Handle some exceptions Signed-off-by: lzzy12 --- bot/helper/ext_utils/bot_utils.py | 2 ++ .../youtube_dl_download_helper.py | 17 +++++++++++------ .../mirror_utils/upload_utils/gdriveTools.py | 16 ++++++++++++---- 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/bot/helper/ext_utils/bot_utils.py b/bot/helper/ext_utils/bot_utils.py index ede4e49..9b81142 100644 --- a/bot/helper/ext_utils/bot_utils.py +++ b/bot/helper/ext_utils/bot_utils.py @@ -46,6 +46,8 @@ class setInterval: def get_readable_file_size(size_in_bytes) -> str: + if size_in_bytes is None: + return '0B' index = 0 while size_in_bytes >= 1024: size_in_bytes /= 1024 diff --git a/bot/helper/mirror_utils/download_utils/youtube_dl_download_helper.py b/bot/helper/mirror_utils/download_utils/youtube_dl_download_helper.py index 70d8e79..c111b94 100644 --- a/bot/helper/mirror_utils/download_utils/youtube_dl_download_helper.py +++ b/bot/helper/mirror_utils/download_utils/youtube_dl_download_helper.py @@ -2,23 +2,25 @@ from .download_helper import DownloadHelper import time from youtube_dl import YoutubeDL import threading -from bot import LOGGER, download_dict_lock, download_dict, DOWNLOAD_DIR +from bot import download_dict_lock, download_dict from ..status_utils.youtube_dl_download_status import YoutubeDLDownloadStatus import logging +LOGGER = logging.getLogger(__name__) + class MyLogger: def __init__(self, obj): self.obj = obj def debug(self, msg): - logging.debug(msg) + LOGGER.debug(msg) def warning(self, msg): - logging.warning(msg) + LOGGER.warning(msg) def error(self, msg): - logging.error(msg) + LOGGER.error(msg) class YoutubeDLHelper(DownloadHelper): @@ -67,7 +69,10 @@ class YoutubeDLHelper(DownloadHelper): chunk_size = d['downloaded_bytes'] - self.last_downloaded self.last_downloaded = d['total_bytes'] * progress self.downloaded_bytes += chunk_size - self.progress = (self.downloaded_bytes / self.size) * 100 + try: + self.progress = (self.downloaded_bytes / self.size) * 100 + except ZeroDivisionError: + pass else: self.download_speed_readable = d['_speed_str'] self.downloaded_bytes = d['downloaded_bytes'] @@ -103,7 +108,7 @@ class YoutubeDLHelper(DownloadHelper): else: video = result if video.get('filesize'): - self.size = int(video.get('filesize')) + self.size = float(video.get('filesize')) self.name = name self.vid_id = video.get('id') return video diff --git a/bot/helper/mirror_utils/upload_utils/gdriveTools.py b/bot/helper/mirror_utils/upload_utils/gdriveTools.py index 0a7879c..6bb1c94 100644 --- a/bot/helper/mirror_utils/upload_utils/gdriveTools.py +++ b/bot/helper/mirror_utils/upload_utils/gdriveTools.py @@ -14,11 +14,12 @@ from googleapiclient.errors import HttpError from googleapiclient.http import MediaFileUpload from tenacity import * -from bot import LOGGER, parent_id, DOWNLOAD_DIR, IS_TEAM_DRIVE, INDEX_URL, \ +from bot import parent_id, DOWNLOAD_DIR, IS_TEAM_DRIVE, INDEX_URL, \ USE_SERVICE_ACCOUNTS from bot.helper.ext_utils.bot_utils import * from bot.helper.ext_utils.fs_utils import get_mime_type +LOGGER = logging.getLogger(__name__) logging.getLogger('googleapiclient.discovery').setLevel(logging.ERROR) SERVICE_ACCOUNT_INDEX = 0 @@ -269,8 +270,12 @@ class GoogleDriveHelper: f' ({get_readable_file_size(self.transferred_size)})' else: file = self.copyFile(meta.get('id'), parent_id) - msg += f'{meta.get("name")}' \ - f' ({get_readable_file_size(int(meta.get("size")))}) ' + + msg += f'{meta.get("name")}' + try: + msg += f' ({get_readable_file_size(int(meta.get("size")))}) ' + except TypeError: + pass return msg def cloneFolder(self, name, local_path, folder_id, parent_id): @@ -299,7 +304,10 @@ class GoogleDriveHelper: current_dir_id = self.create_directory(file.get('name'), parent_id) new_id = self.cloneFolder(file.get('name'), file_path, file.get('id'), current_dir_id) else: - self.transferred_size += int(file.get('size')) + try: + self.transferred_size += int(file.get('size')) + except TypeError: + pass try: self.copyFile(file.get('id'), parent_id) new_id = parent_id