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"],
"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,

View file

@ -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)