diff --git a/rip/core.py b/rip/core.py index de7a882..f6b4480 100644 --- a/rip/core.py +++ b/rip/core.py @@ -49,6 +49,7 @@ from . import db from streamrip.exceptions import ( AuthenticationError, PartialFailure, + ItemExists, MissingCredentials, NonStreamable, NoResultsFound, @@ -303,6 +304,9 @@ class MusicDL(list): for failed_item in e.failed_items: self.failed_db.add(failed_item) continue + except ItemExists as e: + click.secho(f'"{e!s}" already exists. Skipping.', fg="yellow") + continue if hasattr(item, "id"): self.db.add([item.id]) diff --git a/streamrip/media.py b/streamrip/media.py index d9fcb26..90d9404 100644 --- a/streamrip/media.py +++ b/streamrip/media.py @@ -207,10 +207,13 @@ class Track(Media): raise ItemExists(self.final_path) if hasattr(self, "cover_url"): - self.download_cover( - width=kwargs.get("max_artwork_width", 999999), - height=kwargs.get("max_artwork_height", 999999), - ) # only downloads for playlists and singles + try: + self.download_cover( + width=kwargs.get("max_artwork_width", 999999), + height=kwargs.get("max_artwork_height", 999999), + ) # only downloads for playlists and singles + except ItemExists as e: + logger.debug(e) self.path = os.path.join(gettempdir(), f"{hash(self.id)}_{self.quality}.tmp") @@ -230,7 +233,6 @@ class Track(Media): :param progress_bar: turn on/off progress bar :type progress_bar: bool """ - # raise NonStreamable self._prepare_download( quality=quality, parent_folder=parent_folder,