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 dfc12cb..2a590e5 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 @@ -44,10 +44,6 @@ class YoutubeDLHelper(DownloadHelper): if d['status'] == "finished": if self.is_playlist: self.last_downloaded = 0 - if self.downloaded_bytes == self.size: - self.__onDownloadComplete() - else: - self.__onDownloadComplete() elif d['status'] == "downloading": with self.__resource_lock: self.__download_speed = d['speed'] @@ -77,15 +73,13 @@ class YoutubeDLHelper(DownloadHelper): video = result['entries'][0] for v in result['entries']: self.size += float(v['filesize']) - self.name = result.get('title') + self.name = video.get('playlist_title') self.vid_id = video.get('id') self.is_playlist = True - self.opts['o'] = f"{DOWNLOAD_DIR}{self.__listener.uid}/%(playlist)s/%(title)s.%(ext)s" - self.ydl = YoutubeDL(self.opts) else: video = result self.size = int(video.get('filesize')) - self.name = video.get('title') + self.name = f"{video.get('title')}.{video.get('ext')}" self.vid_id = video.get('id') return video @@ -100,7 +94,11 @@ class YoutubeDLHelper(DownloadHelper): def add_download(self, link, path): LOGGER.info(f"Downloading with YT-DL: {link}") self.__gid = f"{self.vid_id}{self.__listener.uid}" - self.opts['o'] = f"{path}/%(title)s/%(title)s.%(ext)s" + if not self.is_playlist: + self.opts['outtmpl'] = f"{path}/%(title)s.%(ext)s" + else: + self.opts['outtmpl'] = f"{path}/%(playlist_title)s/%(title)s.%(ext)s" + self.ydl = YoutubeDL(self.opts) self.__onDownloadStart() threading.Thread(target=self.__download, args=(link,)).start() diff --git a/bot/modules/mirror.py b/bot/modules/mirror.py index 0d7e194..4b28563 100644 --- a/bot/modules/mirror.py +++ b/bot/modules/mirror.py @@ -181,7 +181,7 @@ def _mirror(bot, update, isTar=False): except Exception as e: sup_link = None if sup_link: - ydl.add_download(link, f'{DOWNLOAD_DIR}/{listener.uid}') + ydl.add_download(link, f'{DOWNLOAD_DIR}{listener.uid}') else: aria = aria2_download.AriaDownloadHelper(listener) aria.add_download(link, f'{DOWNLOAD_DIR}/{listener.uid}/') diff --git a/requirements.txt b/requirements.txt index 57e62e8..307a6f1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -10,5 +10,4 @@ python-magic beautifulsoup4>=4.8.2,<4.8.10 Pyrogram>=0.16.0,<0.16.10 TgCrypto>=1.1.1,<1.1.10 -tenacity>=6.0.0 youtube-dl \ No newline at end of file