Handle some exceptions

Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
This commit is contained in:
lzzy12 2020-03-31 15:05:57 +05:30
parent e2c5c8beaf
commit a54fc42e1e
3 changed files with 25 additions and 10 deletions

View File

@ -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

View File

@ -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

View File

@ -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'<a href="{self.__G_DRIVE_BASE_DOWNLOAD_URL.format(file.get("id"))}">{meta.get("name")}</a>' \
f' ({get_readable_file_size(int(meta.get("size")))}) '
msg += f'<a href="{self.__G_DRIVE_BASE_DOWNLOAD_URL.format(file.get("id"))}">{meta.get("name")}</a>'
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