nathom / streamrip

A scriptable music downloader for Qobuz, Tidal, SoundCloud, and Deezer
GNU General Public License v3.0
2.57k stars 222 forks source link

[BUG] Deezer prerelease album art error #350

Closed dajhorn closed 2 years ago

dajhorn commented 2 years ago

Describe the bug

Streamrip fails to download incompletely-released Deezer albums.

Command Used

rip url -vvv https://www.deezer.com/us/album/310768727

Debug Traceback

DEBUG:streamrip:Config loaded
DEBUG:streamrip:Parsed urls: [('deezer', 'album', '310768727')]
DEBUG:streamrip:Searching for {'id': '310768727'} in database
DEBUG:streamrip:Executing SELECT EXISTS(SELECT 1 FROM downloads WHERE id=?)
DEBUG:streamrip:{'downloads': {'folder': '/mnt/d/Deezer', 'source_subdirectories': False, 'concurrency': {'enabled': True, 'max_connections': 2}}, 'qobuz': {'quality': 3, 'download_booklets': True, 'email': '', 'password': '', 'app_id': '', 'secrets': []}, 'tidal': {'quality': 3, 'download_videos': True, 'user_id': '', 'country_code': '', 'access_token': '', 'refresh_token': '', 'token_expiry': ''}, 'deezer': {'quality': 2, 'arl': '7560507e5b4c7e1b8c517642bb7ec24cd7d754f1548e32f438000ed3e3526221851ee4c1d1d99900e20b47b33eebbe48f13a0a824ef056000a970391fd36a7ec7bff024d24b4116328d6ae4529291edf75d5e655f9d37a0b091801013354f319', 'use_deezloader': False, 'deezloader_warnings': True}, 'soundcloud': {'quality': 0, 'client_id': '', 'app_version': ''}, 'youtube': {'quality': 0, 'download_videos': False, 'video_downloads_folder': ''}, 'database': {'downloads': {'enabled': True, 'path': '/root/.config/streamrip/downloads.db'}, 'failed_downloads': {'enabled': True, 'path': '/root/.config/streamrip/failed_downloads.db'}}, 'conversion': {'enabled': False, 'codec': 'ALAC', 'sampling_rate': 48000, 'bit_depth': 24, 'lossy_bitrate': 320}, 'filters': {'extras': False, 'repeats': True, 'non_albums': False, 'features': False, 'non_studio_albums': False, 'non_remaster': True}, 'artwork': {'embed': True, 'size': 'original', 'max_width': -1, 'max_height': -1, 'keep_hires_cover': False}, 'metadata': {'set_playlist_to_album': False, 'new_playlist_tracknumbers': False, 'exclude': []}, 'filepaths': {'add_singles_to_folder': False, 'folder_format': '{albumartist}/{title} ({year}) [{container}] [{bit_depth}B-{sampling_rate}kHz]', 'track_format': '{tracknumber} {artist} - {title}{explicit}', 'restrict_characters': False}, 'lastfm': {'source': 'qobuz', 'fallback_source': 'deezer'}, 'theme': {'progress_bar': 'dainty'}, 'misc': {'version': '1.9.2'}}
DEBUG:streamrip:Arguments from config: {'restrict_filenames': False, 'parent_folder': '/mnt/d/Deezer', 'folder_format': '{albumartist}/{title} ({year}) [{container}] [{bit_depth}B-{sampling_rate}kHz]', 'track_format': '{tracknumber} {artist} - {title}{explicit}', 'embed_cover': True, 'embed_cover_size': 'original', 'keep_hires_cover': False, 'set_playlist_to_album': False, 'stay_temp': False, 'conversion': {'enabled': False, 'codec': 'ALAC', 'sampling_rate': 48000, 'bit_depth': 24, 'lossy_bitrate': 320}, 'concurrent_downloads': True, 'max_connections': 2, 'new_tracknumbers': False, 'download_videos': True, 'download_booklets': True, 'download_youtube_videos': False, 'youtube_video_downloads_folder': '', 'add_singles_to_folder': False, 'max_artwork_width': -1, 'max_artwork_height': -1, 'exclude_tags': []}
DEBUG:streamrip:Loading metadata
DEBUG:streamrip:{'id': 310768727, 'title': 'AfterLife', 'upc': '846070012303', 'link': 'https://www.deezer.com/album/310768727', 'share': 'https://www.deezer.com/album/310768727?utm_source=deezer&utm_content=album-310768727&utm_term=0_1657587344&utm_medium=web', 'cover': '', 'cover_small': None, 'cover_medium': None, 'cover_big': None, 'cover_xl': None, 'md5_image': 'd7d2dfc5dc1497b76ce79f7b3cc1b9a7', 'genre_id': 152, 'genres': {'data': [{'id': 152, 'name': 'Rock', 'picture': 'https://api.deezer.com/genre/152/image', 'type': 'genre'}, {'id': 464, 'name': 'Metal', 'picture': 'https://api.deezer.com/genre/464/image', 'type': 'genre'}]}, 'label': 'Better Noise Music', 'nb_tracks': 12, 'duration': 2821, 'fans': 1821, 'release_date': '2022-08-19', 'record_type': 'album', 'available': True, 'tracklist': '', 'explicit_lyrics': True, 'explicit_content_lyrics': 4, 'explicit_content_cover': 2, 'contributors': [{'id': 158710, 'name': 'Five Finger Death Punch', 'link': 'https://www.deezer.com/artist/158710', 'share': 'https://www.deezer.com/artist/158710?utm_source=deezer&utm_content=artist-158710&utm_term=0_1657587344&utm_medium=web', 'picture': 'https://api.deezer.com/artist/158710/image', 'picture_small': 'https://e-cdns-images.dzcdn.net/images/artist/838d3caa3389bfbed5e0bdd393c358a0/56x56-000000-80-0-0.jpg', 'picture_medium': 'https://e-cdns-images.dzcdn.net/images/artist/838d3caa3389bfbed5e0bdd393c358a0/250x250-000000-80-0-0.jpg', 'picture_big': 'https://e-cdns-images.dzcdn.net/images/artist/838d3caa3389bfbed5e0bdd393c358a0/500x500-000000-80-0-0.jpg', 'picture_xl': 'https://e-cdns-images.dzcdn.net/images/artist/838d3caa3389bfbed5e0bdd393c358a0/1000x1000-000000-80-0-0.jpg', 'radio': True, 'tracklist': 'https://api.deezer.com/artist/158710/top?limit=50', 'type': 'artist', 'role': 'Main'}], 'artist': {'id': 158710, 'name': 'Five Finger Death Punch', 'picture': 'https://api.deezer.com/artist/158710/image', 'picture_small': 'https://e-cdns-images.dzcdn.net/images/artist/838d3caa3389bfbed5e0bdd393c358a0/56x56-000000-80-0-0.jpg', 'picture_medium': 'https://e-cdns-images.dzcdn.net/images/artist/838d3caa3389bfbed5e0bdd393c358a0/250x250-000000-80-0-0.jpg', 'picture_big': 'https://e-cdns-images.dzcdn.net/images/artist/838d3caa3389bfbed5e0bdd393c358a0/500x500-000000-80-0-0.jpg', 'picture_xl': 'https://e-cdns-images.dzcdn.net/images/artist/838d3caa3389bfbed5e0bdd393c358a0/1000x1000-000000-80-0-0.jpg', 'tracklist': 'https://api.deezer.com/artist/158710/top?limit=50', 'type': 'artist'}, 'type': 'album', 'tracks': [{'id': 1719728457, 'readable': True, 'title': 'Welcome To The Circus', 'title_short': 'Welcome To The Circus', 'title_version': '', 'isrc': 'USDPK2200060', 'link': 'https://www.deezer.com/track/1719728457', 'duration': 256, 'track_position': 1, 'disk_number': 1, 'rank': 666240, 'explicit_lyrics': True, 'explicit_content_lyrics': 1, 'explicit_content_cover': 2, 'preview': 'https://cdns-preview-8.dzcdn.net/stream/c-80427f17a351c9b51835daad60700742-3.mp3', 'md5_image': 'd7d2dfc5dc1497b76ce79f7b3cc1b9a7', 'artist': {'id': 158710, 'name': 'Five Finger Death Punch', 'tracklist': 'https://api.deezer.com/artist/158710/top?limit=50', 'type': 'artist'}, 'type': 'track'}, {'id': 1719728467, 'readable': True, 'title': 'AfterLife', 'title_short': 'AfterLife', 'title_version': '', 'isrc': 'USDPK2200047', 'link': 'https://www.deezer.com/track/1719728467', 'duration': 243, 'track_position': 2, 'disk_number': 1, 'rank': 544845, 'explicit_lyrics': True, 'explicit_content_lyrics': 1, 'explicit_content_cover': 2, 'preview': 'https://cdns-preview-2.dzcdn.net/stream/c-2e4a46e5a2c4ba9aabd1d33f688bc33f-3.mp3', 'md5_image': 'd7d2dfc5dc1497b76ce79f7b3cc1b9a7', 'artist': {'id': 158710, 'name': 'Five Finger Death Punch', 'tracklist': 'https://api.deezer.com/artist/158710/top?limit=50', 'type': 'artist'}, 'type': 'track'}, {'id': 1719728477, 'readable': True, 'title': 'Times Like These', 'title_short': 'Times Like These', 'title_version': '', 'isrc': 'USDPK2200061', 'link': 'https://www.deezer.com/track/1719728477', 'duration': 209, 'track_position': 3, 'disk_number': 1, 'rank': 220422, 'explicit_lyrics': False, 'explicit_content_lyrics': 0, 'explicit_content_cover': 2, 'preview': 'https://cdns-preview-7.dzcdn.net/stream/c-7bfa8510c9d470228b32478173a105f3-3.mp3', 'md5_image': 'd7d2dfc5dc1497b76ce79f7b3cc1b9a7', 'artist': {'id': 158710, 'name': 'Five Finger Death Punch', 'tracklist': 'https://api.deezer.com/artist/158710/top?limit=50', 'type': 'artist'}, 'type': 'track'}, {'id': 1719728487, 'readable': False, 'title': 'Roll Dem Bones', 'title_short': 'Roll Dem Bones', 'title_version': '', 'isrc': 'USDPK2200065', 'link': 'https://www.deezer.com/track/1719728487', 'duration': 199, 'track_position': 4, 'disk_number': 1, 'rank': 100000, 'explicit_lyrics': False, 'explicit_content_lyrics': 0, 'explicit_content_cover': 2, 'preview': '', 'md5_image': 'd7d2dfc5dc1497b76ce79f7b3cc1b9a7', 'artist': {'id': 158710, 'name': 'Five Finger Death Punch', 'tracklist': 'https://api.deezer.com/artist/158710/top?limit=50', 'type': 'artist'}, 'type': 'track'}, {'id': 1719728497, 'readable': False, 'title': 'Pick Up Behind You', 'title_short': 'Pick Up Behind You', 'title_version': '', 'isrc': 'USDPK2200062', 'link': 'https://www.deezer.com/track/1719728497', 'duration': 188, 'track_position': 5, 'disk_number': 1, 'rank': 100000, 'explicit_lyrics': True, 'explicit_content_lyrics': 1, 'explicit_content_cover': 2, 'preview': '', 'md5_image': 'd7d2dfc5dc1497b76ce79f7b3cc1b9a7', 'artist': {'id': 158710, 'name': 'Five Finger Death Punch', 'tracklist': 'https://api.deezer.com/artist/158710/top?limit=50', 'type': 'artist'}, 'type': 'track'}, {'id': 1719728507, 'readable': False, 'title': 'Judgment Day', 'title_short': 'Judgment Day', 'title_version': '', 'isrc': 'USDPK2200070', 'link': 'https://www.deezer.com/track/1719728507', 'duration': 292, 'track_position': 6, 'disk_number': 1, 'rank': 100000, 'explicit_lyrics': True, 'explicit_content_lyrics': 1, 'explicit_content_cover': 2, 'preview': '', 'md5_image': 'd7d2dfc5dc1497b76ce79f7b3cc1b9a7', 'artist': {'id': 158710, 'name': 'Five Finger Death Punch', 'tracklist': 'https://api.deezer.com/artist/158710/top?limit=50', 'type': 'artist'}, 'type': 'track'}, {'id': 1719728517, 'readable': True, 'title': 'IOU', 'title_short': 'IOU', 'title_version': '', 'isrc': 'USDPK2200063', 'link': 'https://www.deezer.com/track/1719728517', 'duration': 267, 'track_position': 7, 'disk_number': 1, 'rank': 637816, 'explicit_lyrics': True, 'explicit_content_lyrics': 1, 'explicit_content_cover': 2, 'preview': 'https://cdns-preview-7.dzcdn.net/stream/c-798f21d9f1a2898fcf58846b15cd4364-3.mp3', 'md5_image': 'd7d2dfc5dc1497b76ce79f7b3cc1b9a7', 'artist': {'id': 158710, 'name': 'Five Finger Death Punch', 'tracklist': 'https://api.deezer.com/artist/158710/top?limit=50', 'type': 'artist'}, 'type': 'track'}, {'id': 1719728527, 'readable': False, 'title': 'Thanks For Asking', 'title_short': 'Thanks For Asking', 'title_version': '', 'isrc': 'USDPK2200066', 'link': 'https://www.deezer.com/track/1719728527', 'duration': 198, 'track_position': 8, 'disk_number': 1, 'rank': 100000, 'explicit_lyrics': False, 'explicit_content_lyrics': 0, 'explicit_content_cover': 2, 'preview': '', 'md5_image': 'd7d2dfc5dc1497b76ce79f7b3cc1b9a7', 'artist': {'id': 158710, 'name': 'Five Finger Death Punch', 'tracklist': 'https://api.deezer.com/artist/158710/top?limit=50', 'type': 'artist'}, 'type': 'track'}, {'id': 1719728537, 'readable': False, 'title': 'Blood And Tar', 'title_short': 'Blood And Tar', 'title_version': '', 'isrc': 'USDPK2200067', 'link': 'https://www.deezer.com/track/1719728537', 'duration': 202, 'track_position': 9, 'disk_number': 1, 'rank': 100000, 'explicit_lyrics': False, 'explicit_content_lyrics': 0, 'explicit_content_cover': 2, 'preview': '', 'md5_image': 'd7d2dfc5dc1497b76ce79f7b3cc1b9a7', 'artist': {'id': 158710, 'name': 'Five Finger Death Punch', 'tracklist': 'https://api.deezer.com/artist/158710/top?limit=50', 'type': 'artist'}, 'type': 'track'}, {'id': 1719728547, 'readable': False, 'title': 'All I Know', 'title_short': 'All I Know', 'title_version': '', 'isrc': 'USDPK2200068', 'link': 'https://www.deezer.com/track/1719728547', 'duration': 311, 'track_position': 10, 'disk_number': 1, 'rank': 100000, 'explicit_lyrics': False, 'explicit_content_lyrics': 0, 'explicit_content_cover': 2, 'preview': '', 'md5_image': 'd7d2dfc5dc1497b76ce79f7b3cc1b9a7', 'artist': {'id': 158710, 'name': 'Five Finger Death Punch', 'tracklist': 'https://api.deezer.com/artist/158710/top?limit=50', 'type': 'artist'}, 'type': 'track'}, {'id': 1719728557, 'readable': False, 'title': 'Gold Gutter', 'title_short': 'Gold Gutter', 'title_version': '', 'isrc': 'USDPK2200069', 'link': 'https://www.deezer.com/track/1719728557', 'duration': 233, 'track_position': 11, 'disk_number': 1, 'rank': 100000, 'explicit_lyrics': True, 'explicit_content_lyrics': 1, 'explicit_content_cover': 2, 'preview': '', 'md5_image': 'd7d2dfc5dc1497b76ce79f7b3cc1b9a7', 'artist': {'id': 158710, 'name': 'Five Finger Death Punch', 'tracklist': 'https://api.deezer.com/artist/158710/top?limit=50', 'type': 'artist'}, 'type': 'track'}, {'id': 1719728567, 'readable': False, 'title': 'The End', 'title_short': 'The End', 'title_version': '', 'isrc': 'USDPK2200064', 'link': 'https://www.deezer.com/track/1719728567', 'duration': 223, 'track_position': 12, 'disk_number': 1, 'rank': 100000, 'explicit_lyrics': False, 'explicit_content_lyrics': 0, 'explicit_content_cover': 2, 'preview': '', 'md5_image': 'd7d2dfc5dc1497b76ce79f7b3cc1b9a7', 'artist': {'id': 158710, 'name': 'Five Finger Death Punch', 'tracklist': 'https://api.deezer.com/artist/158710/top?limit=50', 'type': 'artist'}, 'type': 'track'}], 'track_total': 12}
DEBUG:streamrip:{'meta': <TrackMetadata object 0xe005876e4a827ec>, 'id': 1719728457, 'part_of_tracklist': True}
DEBUG:streamrip:{'meta': <TrackMetadata object 0xeb4d108685fbfb9>, 'id': 1719728467, 'part_of_tracklist': True}
DEBUG:streamrip:{'meta': <TrackMetadata object 0x10d8b5935328de89>, 'id': 1719728477, 'part_of_tracklist': True}
DEBUG:streamrip:{'meta': <TrackMetadata object 0x1d0fb1a8da864ea>, 'id': 1719728487, 'part_of_tracklist': True}
DEBUG:streamrip:{'meta': <TrackMetadata object 0xeb9593ec75b09cf>, 'id': 1719728497, 'part_of_tracklist': True}
DEBUG:streamrip:{'meta': <TrackMetadata object 0x1858e8be9f123b45>, 'id': 1719728507, 'part_of_tracklist': True}
DEBUG:streamrip:{'meta': <TrackMetadata object 0x26f44f641340df6>, 'id': 1719728517, 'part_of_tracklist': True}
DEBUG:streamrip:{'meta': <TrackMetadata object 0x3ae6cd5ae033150>, 'id': 1719728527, 'part_of_tracklist': True}
DEBUG:streamrip:{'meta': <TrackMetadata object 0x1c582f516bb86cb5>, 'id': 1719728537, 'part_of_tracklist': True}
DEBUG:streamrip:{'meta': <TrackMetadata object 0x10ae8a8b0cfbc3d5>, 'id': 1719728547, 'part_of_tracklist': True}
DEBUG:streamrip:{'meta': <TrackMetadata object 0x8e1e3cf6df08cdf>, 'id': 1719728557, 'part_of_tracklist': True}
DEBUG:streamrip:{'meta': <TrackMetadata object 0xcf0e8260a410981>, 'id': 1719728567, 'part_of_tracklist': True}
DEBUG:streamrip:Sampling rate, bit depth = (16, 44100)
DEBUG:streamrip:Formatter: {'albumartist': 'Five Finger Death Punch', 'title': 'AfterLife', 'year': '2022', 'bit_depth': 16, 'sampling_rate': 44.1, 'container': 'FLAC', 'albumcomposer': None, 'id': 310768727}
DEBUG:streamrip:Formatter keys: {albumartist}/{title} ({year}) [{container}] [{bit_depth}B-{sampling_rate}kHz]
DEBUG:streamrip:'albumartist'
DEBUG:streamrip:Five Finger Death Punch
DEBUG:streamrip:1
DEBUG:streamrip:'title'
DEBUG:streamrip:AfterLife
DEBUG:streamrip:1
DEBUG:streamrip:'year'
DEBUG:streamrip:2022
DEBUG:streamrip:1
DEBUG:streamrip:'container'
DEBUG:streamrip:FLAC
DEBUG:streamrip:1
DEBUG:streamrip:'bit_depth'
DEBUG:streamrip:16
DEBUG:streamrip:2
DEBUG:streamrip:'sampling_rate'
DEBUG:streamrip:44.1
DEBUG:streamrip:1

Downloading AfterLife (Album)

Downloading cover art (original)
DEBUG:streamrip:Chosen cover url: None

  Stack trace:

  10  ~/.local/lib/python3.9/site-packages/cleo/application.py:330 in run
       328│
       329│             try:
     → 330│                 exit_code = self._run(io)
       331│             except Exception as e:
       332│                 if not self._catch_exceptions:

   9  ~/.local/lib/python3.9/site-packages/rip/cli.py:760 in _run
       758│             logger.addHandler(fh)
       759│
     → 760│         super()._run(io)
       761│
       762│     def create_io(self, input=None, output=None, error_output=None):

   8  ~/.local/lib/python3.9/site-packages/cleo/application.py:425 in _run
       423│                 io.set_input(ArgvInput(argv))
       424│
     → 425│         exit_code = self._run_command(command, io)
       426│         self._running_command = None
       427│

   7  ~/.local/lib/python3.9/site-packages/cleo/application.py:432 in _run_command
       430│     def _run_command(self, command: Command, io: IO) -> int:
       431│         if self._event_dispatcher is None:
     → 432│             return command.run(io)
       433│
       434│         # Bind before the console.command event,

   6  ~/.local/lib/python3.9/site-packages/cleo/commands/base_command.py:118 in run
       116│         io.input.validate()
       117│
     → 118│         status_code = self.execute(io)
       119│
       120│         if status_code is None:

   5  ~/.local/lib/python3.9/site-packages/cleo/commands/command.py:85 in execute
        83│
        84│         try:
     →  85│             return self.handle()
        86│         except KeyboardInterrupt:
        87│             return 1

   4  ~/.local/lib/python3.9/site-packages/rip/cli.py:124 in handle
       122│
       123│         if len(core) > 0:
     → 124│             core.download()
       125│         elif not urls and path is None:
       126│             self.line("Must pass arguments. See rip url -h.")

   3  ~/.local/lib/python3.9/site-packages/rip/core.py:313 in download
       311│
       312│             try:
     → 313│                 item.download(**arguments)
       314│                 for item_id in item.downloaded_ids:
       315│                     self.db.add([item_id])

   2  ~/.local/lib/python3.9/site-packages/streamrip/media.py:1163 in download
       1161│         :param kwargs:
       1162│         """
     → 1163│         self._prepare_download(**kwargs)
       1164│         if kwargs.get("conversion", False):
       1165│             has_conversion = kwargs["conversion"]["enabled"]

   1  ~/.local/lib/python3.9/site-packages/streamrip/media.py:1529 in _prepare_download
       1527│
       1528│         cover_path = (
     → 1529│             _choose_and_download_cover(
       1530│                 self.cover_urls,
       1531│                 kwargs.get("embed_cover_size", "large"),

  StopIteration

  at ~/.local/lib/python3.9/site-packages/streamrip/media.py:2354 in _choose_and_download_cover
      2350│     if not os.path.exists(temp_cover_path):
      2351│         # Sometimes a size isn't available. When this is the case, find
      2352│         # the first `not None` url.
      2353│         if embed_cover_url is None:
    → 2354│             embed_cover_url = next(filter(None, cover_urls.values()))
      2355│
      2356│         logger.debug("Downloading cover from url %s", embed_cover_url)
      2357│
      2358│         _cover_download(embed_cover_url, temp_cover_path)

If this was unexpected, please open a Bug Report at https://github.com/nathom/streamrip/issues/new/choose

Config File

[downloads]
# Folder where tracks are downloaded to
folder = "/mnt/d/Deezer"

# Put Qobuz albums in a 'Qobuz' folder, Tidal albums in 'Tidal' etc.
source_subdirectories = false

[downloads.concurrency]
# Download (and convert) tracks all at once, instead of sequentially.
# If you are converting the tracks, or have fast internet, this will
# substantially improve processing speed.
enabled = true

# The maximum number of tracks to download at once
# If you have very fast internet, you will benefit from a higher value,
# A value that is too high for your bandwidth may cause slowdowns
max_connections = 2

[qobuz]
# 1: 320kbps MP3, 2: 16/44.1, 3: 24/<=96, 4: 24/>=96
quality = 3
# This will download booklet pdfs that are included with some albums
download_booklets = true
email = ""
# This is an md5 hash of the plaintext password
password = ""
# Do not change
app_id = ""
# Do not change
secrets = []

[tidal]
# 0: 256kbps AAC, 1: 320kbps AAC, 2: 16/44.1 "HiFi" FLAC, 3: 24/44.1 "MQA" FLAC
quality = 3
# This will download videos included in Video Albums.
download_videos = true

# Do not change any of the fields below
user_id = ""
country_code = ""
access_token = ""
refresh_token = ""
# Tokens last 1 week after refresh. This is the Unix timestamp of the expiration
# time. If you haven't used streamrip in more than a week, you may have to log
# in again using `rip config --tidal`
token_expiry = ""

[deezer]
# 0, 1, or 2
# This only applies to paid Deezer subscriptions. Those using deezloader
# are automatically limited to quality = 1
quality = 2

# An authentication cookie that allows streamrip to use your Deezer account
# See https://github.com/nathom/streamrip/wiki/Finding-Your-Deezer-ARL-Cookie
# for instructions on how to find this
arl = [snipped]

# This allows for free 320kbps MP3 downloads from Deezer
# If an arl is provided, deezloader is never used
use_deezloader = false

# This warns you when the paid deezer account is not logged in and rip falls
# back to deezloader, which is unreliable
deezloader_warnings = true

[soundcloud]
# Only 0 is available for now
quality = 0
# This changes periodically, so it needs to be updated
client_id = ""
app_version = ""

[youtube]
# Only 0 is available for now
quality = 0
# Download the video along with the audio
download_videos = false
# The path to download the videos to
video_downloads_folder = ""

# This stores a list of item IDs so that repeats are not downloaded.

[database.downloads]
enabled = true
path = "/root/.config/streamrip/downloads.db"

# If a download fails, the item ID is stored here. Then, `rip repair` can be
# called to retry the downloads

[database.failed_downloads]
enabled = true
path = "/root/.config/streamrip/failed_downloads.db"

# Convert tracks to a codec after downloading them.

[conversion]
enabled = false
# FLAC, ALAC, OPUS, MP3, VORBIS, or AAC
codec = "ALAC"
# In Hz. Tracks are downsampled if their sampling rate is greater than this.
# Value of 48000 is recommended to maximize quality and minimize space
sampling_rate = 48000
# Only 16 and 24 are available. It is only applied when the bit depth is higher
# than this value.
bit_depth = 24
# Only applicable for lossy codecs
lossy_bitrate = 320

# Filter a Qobuz artist's discography. Set to 'true' to turn on a filter.

[filters]
# Remove Collectors Editions, live recordings, etc.
extras = false
# Picks the highest quality out of albums with identical titles.

repeats = true

# Remove EPs and Singles
non_albums = false

# Remove albums whose artist is not the one requested
features = false

# Skip non studio albums
non_studio_albums = false

# Only download remastered albums
non_remaster = true

[artwork]
# Write the image to the audio file
embed = true

# The size of the artwork to embed. Options: thumbnail, small, large, original.
# "original" images can be up to 30MB, and may fail embedding.
# Using "large" is recommended.
size = "original"

# Both of these options limit the size of the embedded artwork. If their values
# are larger than the actual dimensions of the image, they will be ignored.
# If either value is -1, the image is left untouched.
max_width = -1
max_height = -1

# Save the cover image at the highest quality as a seperate jpg file
keep_hires_cover = false

[metadata]
# Sets the value of the 'ALBUM' field in the metadata to the playlist's name.
# This is useful if your music library software organizes tracks based on album name.
set_playlist_to_album = false

# Replaces the original track's tracknumber with it's position in the playlist
new_playlist_tracknumbers = false

# The following metadata tags won't be applied
# See https://github.com/nathom/streamrip/wiki/Metadata-Tag-Names for more info
exclude = []

# Changes the folder and file names generated by streamrip.

[filepaths]
# Create folders for single tracks within the downloads directory using the folder_format
# template
add_singles_to_folder = false

# Available keys: "albumartist", "title", "year", "bit_depth", "sampling_rate",
# "container", "id", and "albumcomposer"
folder_format = "{albumartist}/{title} ({year}) [{container}] [{bit_depth}B-{sampling_rate}kHz]"

# Available keys: "tracknumber", "artist", "albumartist", "composer", "title",
# and "albumcomposer"
track_format = "{tracknumber} {artist} - {title}{explicit}"

# Only allow printable ASCII characters in filenames.
restrict_characters = false

# Last.fm playlists are downloaded by searching for the titles of the tracks

[lastfm]
# The source on which to search for the tracks.
source = "qobuz"
# If no results were found with the primary source, the item is searched for
# on this one.
fallback_source = "deezer"

[theme]
# Options: "dainty" or "plain"
progress_bar = "dainty"

[misc]
# Metadata to identify this config file. Do not change.
version = "1.9.2"

Operating System

Gentoo

streamrip version

1.9.5

Screenshots and recordings

No response

Additional context

Given that streamrip is failing in the coverart routines, I tried setting this option to troubleshoot:

 [artwork]
 # Write the image to the audio file
 embed = false

But this option seems to do nothing for the Deezer backend.

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.