From 93f0e7bf9056977fe42426eee6527065d9ad8152 Mon Sep 17 00:00:00 2001 From: nathom Date: Thu, 1 Apr 2021 12:54:30 -0700 Subject: [PATCH] Fixed Issue #22 --- streamrip/core.py | 24 ++++++++++++++++++------ streamrip/downloader.py | 7 ++++++- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/streamrip/core.py b/streamrip/core.py index 38e9913..3fbbb12 100644 --- a/streamrip/core.py +++ b/streamrip/core.py @@ -126,6 +126,8 @@ class MusicDL(list): "parent_folder": self.config.session["downloads"]["folder"], "keep_cover": self.config.session["keep_cover"], "large_cover": self.config.session["metadata"]["large_cover"], + "folder_format": self.config.session['path_format']['folder'], + "track_format": self.config.session['path_format']['track'] # TODO: fully implement this # "embed_cover": self.config.session["metadata"]["embed_cover"], } @@ -286,13 +288,18 @@ class MusicDL(list): try: from pick import pick except (ImportError, ModuleNotFoundError): - click.secho("Run `pip3 install windows-curses` to use interactive mode.", fg='red') + click.secho( + "Run `pip3 install windows-curses` to use interactive mode.", + fg="red", + ) sys.exit() choice = pick( tuple(enumerate(results)), - title=(f"{capitalize(source)} {media_type} search.\n" - "Press SPACE to select, RETURN to download, ctrl-C to exit."), + title=( + f"{capitalize(source)} {media_type} search.\n" + "Press SPACE to select, RETURN to download, ctrl-C to exit." + ), options_map_func=title, multiselect=True, ) @@ -308,15 +315,20 @@ class MusicDL(list): try: from simple_term_menu import TerminalMenu except (ImportError, ModuleNotFoundError): - click.secho("Run `pip3 install simple-term-menu` to use interactive mode.", fg='red') + click.secho( + "Run `pip3 install simple-term-menu` to use interactive mode.", + fg="red", + ) sys.exit() menu = TerminalMenu( map(title, enumerate(results)), preview_command=from_title, preview_size=0.5, - title=(f"{capitalize(source)} {media_type} search.\n" - "SPACE - multiselection, ENTER - download, ESC - exit"), + title=( + f"{capitalize(source)} {media_type} search.\n" + "SPACE - multiselection, ENTER - download, ESC - exit" + ), cycle_cursor=True, clear_screen=True, multi_select=True, diff --git a/streamrip/downloader.py b/streamrip/downloader.py index 5d8efe4..0592a73 100644 --- a/streamrip/downloader.py +++ b/streamrip/downloader.py @@ -813,6 +813,7 @@ class Album(Tracklist): :param keep_cover: Keep the cover art image after downloading. True by default. """ + self.folder_format = kwargs.get("folder_format", FOLDER_FORMAT) folder = self._get_formatted_folder(parent_folder) os.makedirs(folder, exist_ok=True) @@ -852,7 +853,11 @@ class Album(Tracklist): for track in self: logger.debug("Downloading track to %s", folder) track.download( - quality, folder, kwargs.get("progress_bar", True), database=database + quality, + folder, + kwargs.get("progress_bar", True), + database=database, + track_format=kwargs.get("track_format", TRACK_FORMAT), ) if kwargs.get("tag_tracks", True) and self.client.source != "deezer": track.tag(cover=cover)