Handle some exceptions
Signed-off-by: lzzy12 <jhashivam2020@gmail.com>
This commit is contained in:
parent
e2c5c8beaf
commit
a54fc42e1e
|
|
@ -46,6 +46,8 @@ class setInterval:
|
||||||
|
|
||||||
|
|
||||||
def get_readable_file_size(size_in_bytes) -> str:
|
def get_readable_file_size(size_in_bytes) -> str:
|
||||||
|
if size_in_bytes is None:
|
||||||
|
return '0B'
|
||||||
index = 0
|
index = 0
|
||||||
while size_in_bytes >= 1024:
|
while size_in_bytes >= 1024:
|
||||||
size_in_bytes /= 1024
|
size_in_bytes /= 1024
|
||||||
|
|
|
||||||
|
|
@ -2,23 +2,25 @@ from .download_helper import DownloadHelper
|
||||||
import time
|
import time
|
||||||
from youtube_dl import YoutubeDL
|
from youtube_dl import YoutubeDL
|
||||||
import threading
|
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
|
from ..status_utils.youtube_dl_download_status import YoutubeDLDownloadStatus
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
|
LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class MyLogger:
|
class MyLogger:
|
||||||
def __init__(self, obj):
|
def __init__(self, obj):
|
||||||
self.obj = obj
|
self.obj = obj
|
||||||
|
|
||||||
def debug(self, msg):
|
def debug(self, msg):
|
||||||
logging.debug(msg)
|
LOGGER.debug(msg)
|
||||||
|
|
||||||
def warning(self, msg):
|
def warning(self, msg):
|
||||||
logging.warning(msg)
|
LOGGER.warning(msg)
|
||||||
|
|
||||||
def error(self, msg):
|
def error(self, msg):
|
||||||
logging.error(msg)
|
LOGGER.error(msg)
|
||||||
|
|
||||||
|
|
||||||
class YoutubeDLHelper(DownloadHelper):
|
class YoutubeDLHelper(DownloadHelper):
|
||||||
|
|
@ -67,7 +69,10 @@ class YoutubeDLHelper(DownloadHelper):
|
||||||
chunk_size = d['downloaded_bytes'] - self.last_downloaded
|
chunk_size = d['downloaded_bytes'] - self.last_downloaded
|
||||||
self.last_downloaded = d['total_bytes'] * progress
|
self.last_downloaded = d['total_bytes'] * progress
|
||||||
self.downloaded_bytes += chunk_size
|
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:
|
else:
|
||||||
self.download_speed_readable = d['_speed_str']
|
self.download_speed_readable = d['_speed_str']
|
||||||
self.downloaded_bytes = d['downloaded_bytes']
|
self.downloaded_bytes = d['downloaded_bytes']
|
||||||
|
|
@ -103,7 +108,7 @@ class YoutubeDLHelper(DownloadHelper):
|
||||||
else:
|
else:
|
||||||
video = result
|
video = result
|
||||||
if video.get('filesize'):
|
if video.get('filesize'):
|
||||||
self.size = int(video.get('filesize'))
|
self.size = float(video.get('filesize'))
|
||||||
self.name = name
|
self.name = name
|
||||||
self.vid_id = video.get('id')
|
self.vid_id = video.get('id')
|
||||||
return video
|
return video
|
||||||
|
|
|
||||||
|
|
@ -14,11 +14,12 @@ from googleapiclient.errors import HttpError
|
||||||
from googleapiclient.http import MediaFileUpload
|
from googleapiclient.http import MediaFileUpload
|
||||||
from tenacity import *
|
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
|
USE_SERVICE_ACCOUNTS
|
||||||
from bot.helper.ext_utils.bot_utils import *
|
from bot.helper.ext_utils.bot_utils import *
|
||||||
from bot.helper.ext_utils.fs_utils import get_mime_type
|
from bot.helper.ext_utils.fs_utils import get_mime_type
|
||||||
|
|
||||||
|
LOGGER = logging.getLogger(__name__)
|
||||||
logging.getLogger('googleapiclient.discovery').setLevel(logging.ERROR)
|
logging.getLogger('googleapiclient.discovery').setLevel(logging.ERROR)
|
||||||
SERVICE_ACCOUNT_INDEX = 0
|
SERVICE_ACCOUNT_INDEX = 0
|
||||||
|
|
||||||
|
|
@ -269,8 +270,12 @@ class GoogleDriveHelper:
|
||||||
f' ({get_readable_file_size(self.transferred_size)})'
|
f' ({get_readable_file_size(self.transferred_size)})'
|
||||||
else:
|
else:
|
||||||
file = self.copyFile(meta.get('id'), parent_id)
|
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
|
return msg
|
||||||
|
|
||||||
def cloneFolder(self, name, local_path, folder_id, parent_id):
|
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)
|
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)
|
new_id = self.cloneFolder(file.get('name'), file_path, file.get('id'), current_dir_id)
|
||||||
else:
|
else:
|
||||||
self.transferred_size += int(file.get('size'))
|
try:
|
||||||
|
self.transferred_size += int(file.get('size'))
|
||||||
|
except TypeError:
|
||||||
|
pass
|
||||||
try:
|
try:
|
||||||
self.copyFile(file.get('id'), parent_id)
|
self.copyFile(file.get('id'), parent_id)
|
||||||
new_id = parent_id
|
new_id = parent_id
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue