Fixed Issue #22

This commit is contained in:
nathom 2021-04-01 12:54:30 -07:00
parent c003730a28
commit 93f0e7bf90
2 changed files with 24 additions and 7 deletions

View file

@ -126,6 +126,8 @@ class MusicDL(list):
"parent_folder": self.config.session["downloads"]["folder"], "parent_folder": self.config.session["downloads"]["folder"],
"keep_cover": self.config.session["keep_cover"], "keep_cover": self.config.session["keep_cover"],
"large_cover": self.config.session["metadata"]["large_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 # TODO: fully implement this
# "embed_cover": self.config.session["metadata"]["embed_cover"], # "embed_cover": self.config.session["metadata"]["embed_cover"],
} }
@ -286,13 +288,18 @@ class MusicDL(list):
try: try:
from pick import pick from pick import pick
except (ImportError, ModuleNotFoundError): 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() sys.exit()
choice = pick( choice = pick(
tuple(enumerate(results)), tuple(enumerate(results)),
title=(f"{capitalize(source)} {media_type} search.\n" title=(
"Press SPACE to select, RETURN to download, ctrl-C to exit."), f"{capitalize(source)} {media_type} search.\n"
"Press SPACE to select, RETURN to download, ctrl-C to exit."
),
options_map_func=title, options_map_func=title,
multiselect=True, multiselect=True,
) )
@ -308,15 +315,20 @@ class MusicDL(list):
try: try:
from simple_term_menu import TerminalMenu from simple_term_menu import TerminalMenu
except (ImportError, ModuleNotFoundError): 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() sys.exit()
menu = TerminalMenu( menu = TerminalMenu(
map(title, enumerate(results)), map(title, enumerate(results)),
preview_command=from_title, preview_command=from_title,
preview_size=0.5, preview_size=0.5,
title=(f"{capitalize(source)} {media_type} search.\n" title=(
"SPACE - multiselection, ENTER - download, ESC - exit"), f"{capitalize(source)} {media_type} search.\n"
"SPACE - multiselection, ENTER - download, ESC - exit"
),
cycle_cursor=True, cycle_cursor=True,
clear_screen=True, clear_screen=True,
multi_select=True, multi_select=True,

View file

@ -813,6 +813,7 @@ class Album(Tracklist):
:param keep_cover: Keep the cover art image after downloading. :param keep_cover: Keep the cover art image after downloading.
True by default. True by default.
""" """
self.folder_format = kwargs.get("folder_format", FOLDER_FORMAT)
folder = self._get_formatted_folder(parent_folder) folder = self._get_formatted_folder(parent_folder)
os.makedirs(folder, exist_ok=True) os.makedirs(folder, exist_ok=True)
@ -852,7 +853,11 @@ class Album(Tracklist):
for track in self: for track in self:
logger.debug("Downloading track to %s", folder) logger.debug("Downloading track to %s", folder)
track.download( 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": if kwargs.get("tag_tracks", True) and self.client.source != "deezer":
track.tag(cover=cover) track.tag(cover=cover)