diff options
author | nathansmith117 <thenathansmithsmith@gmail.com> | 2024-03-27 22:11:09 +0000 |
---|---|---|
committer | nathansmith117 <thenathansmithsmith@gmail.com> | 2024-03-27 22:11:09 +0000 |
commit | ef55effa58ee01089bffb441a65e932393d9facb (patch) | |
tree | 29f65a87c423953b0575b25780bb8432bab09df2 /src/view/app.py | |
parent | e8bd0e3644070d2ea9f8fc309e725d9b9b3d0bd6 (diff) | |
download | youload-ef55effa58ee01089bffb441a65e932393d9facb.tar.gz youload-ef55effa58ee01089bffb441a65e932393d9facb.tar.bz2 youload-ef55effa58ee01089bffb441a65e932393d9facb.zip |
Working on yt-dlpswitch_to_yt_dlp
Diffstat (limited to 'src/view/app.py')
-rw-r--r-- | src/view/app.py | 46 |
1 files changed, 15 insertions, 31 deletions
diff --git a/src/view/app.py b/src/view/app.py index 5c6ce6f..4b295d2 100644 --- a/src/view/app.py +++ b/src/view/app.py @@ -6,14 +6,21 @@ from kivy.uix.button import Button from kivy.uix.textinput import TextInput from kivy.uix.label import Label from kivy import platform +from kivy.logger import Logger, LOG_LEVELS import threading import traceback -from model.youload_playlist import YouLoadPlayList +import youload_downloader from view.file_chooser import YouloadFileChooser from view.download_type_chooser import YouloadDownloadTypeChooser import util +import sys + +# The logger fucks up yt-dlp. +Logger.setLevel(LOG_LEVELS["critical"]) +sys.stdout = sys.__stdout__ +sys.stderr = sys.__stderr__ class YouloadApp(App): def build(self): @@ -109,42 +116,19 @@ class YouloadApp(App): # Download the videos in a different thread so the ui still works. def download_playlist_thread(self): try: - self.download_status.text = "Fetching playlist" + self.download_status.text = "Downloading" self.submit.text = "Stop" self.is_downloading = True - # Get playlist. - playlist = YouLoadPlayList(self.url) - - # Set directory and other stuff. - playlist.set_download_directory(self.folder_display.text) - playlist.download_type = self.download_type_chooser.current_type - playlist.prepare_for_download() - self.downloads_display.text = f"Downloading to {playlist.folder_name}\n" - - # Download each video - for i in range(playlist.video_count): - # Stop this mother fucker - if self.should_stop_download: - break - - self.download_status.text = f"Downloading {i+1}/{playlist.video_count}" - self.downloads_display.text += playlist.download_video(i, self.do_add_numbers) + "\n" + self.downloads_display = youload_downloader.download_playlist( + self.url_input.text, + self.download_type_chooser.current_type, + self.folder_display.text, + self.do_add_numbers + ) # Complete download. self.download_status.text = "Download complete" - except FileExistsError as e: - self.download_status.text = "Folder already exists" - self.downloads_display.text = repr(e) + "\n" + traceback.format_exc() - print(self.downloads_display.text) - except KeyError as e: - self.download_status.text = "Error getting playlist" - self.downloads_display.text = repr(e) + "\n" + traceback.format_exc() - print(self.downloads_display.text) - except AttributeError as e: - self.download_status.text = "Download type not supported" - self.downloads_display.text = repr(e) + "\n" + traceback.format_exc() - print(self.downloads_display.text) except Exception as e: self.downloads_display.text = repr(e) + "\n" + traceback.format_exc() print(self.downloads_display.text) |