Show user message when config KeyErrors

Formatting
This commit is contained in:
nathom 2021-04-12 15:50:41 -07:00
parent 8ccf74fd76
commit 0367a04137
5 changed files with 46 additions and 25 deletions

View file

@ -50,7 +50,7 @@ def cli(ctx, **kwargs):
global config
global core
if ctx.invoked_subcommand == 'config':
if ctx.invoked_subcommand == "config":
return
if kwargs["debug"]:

View file

@ -489,7 +489,7 @@ class TidalClient(ClientInterface):
try:
manifest = json.loads(base64.b64decode(resp["manifest"]).decode("utf-8"))
except KeyError:
raise Exception(resp['userMessage'])
raise Exception(resp["userMessage"])
logger.debug(manifest)
return {

View file

@ -154,22 +154,37 @@ class MusicDL(list):
self.append(item)
def download(self):
arguments = {
"database": self.db,
"parent_folder": self.config.session["downloads"]["folder"],
"folder_format": self.config.session["path_format"]["folder"],
"track_format": self.config.session["path_format"]["track"],
"embed_cover": self.config.session["artwork"]["embed"],
"embed_cover_size": self.config.session["artwork"]["size"],
"keep_hires_cover": self.config.session["artwork"]["keep_hires_cover"],
"set_playlist_to_album": self.config.session["metadata"][
"set_playlist_to_album"
],
"stay_temp": self.config.session["conversion"]["enabled"],
"conversion": self.config.session["conversion"],
"concurrent_downloads": self.config.session["concurrent_downloads"],
"new_tracknumbers": self.config.session['metadata']['new_playlist_tracknumbers']
}
try:
arguments = {
"database": self.db,
"parent_folder": self.config.session["downloads"]["folder"],
"folder_format": self.config.session["path_format"]["folder"],
"track_format": self.config.session["path_format"]["track"],
"embed_cover": self.config.session["artwork"]["embed"],
"embed_cover_size": self.config.session["artwork"]["size"],
"keep_hires_cover": self.config.session["artwork"]["keep_hires_cover"],
"set_playlist_to_album": self.config.session["metadata"][
"set_playlist_to_album"
],
"stay_temp": self.config.session["conversion"]["enabled"],
"conversion": self.config.session["conversion"],
"concurrent_downloads": self.config.session["concurrent_downloads"],
"new_tracknumbers": self.config.session["metadata"][
"new_playlist_tracknumbers"
],
}
except KeyError as err:
click.secho(
"There was a problem with your config file. This happens "
"sometimes after updates. Run ",
nl=False,
fg="red",
)
click.secho("rip config --reset ", fg="yellow", nl=False)
click.secho("to reset it. You will need to log in again.", fg="red")
logger.debug(err)
exit()
logger.debug("Arguments from config: %s", arguments)
source_subdirs = self.config.session["downloads"]["source_subdirectories"]

View file

@ -217,7 +217,7 @@ class Track:
try:
dl_info = self.client.get_file_url(url_id, self.quality)
except Exception as e:
click.secho(f"Unable to download track. {e}", fg='red')
click.secho(f"Unable to download track. {e}", fg="red")
return False
self.path = os.path.join(gettempdir(), f"{hash(self.id)}_{self.quality}.tmp")
@ -237,10 +237,14 @@ class Track:
# --------- Download Track ----------
if self.client.source in ("qobuz", "tidal"):
logger.debug("Downloadable URL found: %s", dl_info.get("url"))
tqdm_download(dl_info["url"], self.path, desc=self._progress_desc) # downloads file
tqdm_download(
dl_info["url"], self.path, desc=self._progress_desc
) # downloads file
elif self.client.source == "deezer": # Deezer
logger.debug("Downloadable URL found: %s", dl_info, desc=self._progress_desc)
logger.debug(
"Downloadable URL found: %s", dl_info, desc=self._progress_desc
)
try:
tqdm_download(dl_info, self.path) # downloads file
except NonStreamable:
@ -317,7 +321,7 @@ class Track:
@property
def _progress_desc(self):
return click.style(f"Track {int(self.meta.tracknumber):02}", fg='blue')
return click.style(f"Track {int(self.meta.tracknumber):02}", fg="blue")
def download_cover(self):
"""Downloads the cover art, if cover_url is given."""
@ -329,7 +333,9 @@ class Track:
# click.secho(f"\nDownloading cover art for {self!s}", fg="blue")
if not os.path.exists(self.cover_path):
tqdm_download(self.cover_url, self.cover_path, desc=click.style('Cover', fg='cyan'))
tqdm_download(
self.cover_url, self.cover_path, desc=click.style("Cover", fg="cyan")
)
else:
logger.debug("Cover already exists, skipping download")
@ -1253,7 +1259,7 @@ class Playlist(Tracklist):
if kwargs.get("new_tracknumbers", True):
item["tracknumber"] = self.__download_index
item['discnumber'] = 1
item["discnumber"] = 1
self.__download_index += 1

View file

@ -361,7 +361,7 @@ class TrackMetadata:
for k, v in FLAC_KEY.items():
tag = getattr(self, k)
if tag:
if k in ('tracknumber', 'discnumber', 'tracktotal', 'disctotal'):
if k in ("tracknumber", "discnumber", "tracktotal", "disctotal"):
tag = f"{int(tag):02}"
logger.debug("Adding tag %s: %s", v, tag)