nathom / streamrip

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

[BUG] (Qobuz) NonStreamableError: Error fetching metadata. Message: "No result matching given argument" #563

Open vantablack333 opened 10 months ago

vantablack333 commented 10 months ago

Describe the bug

Constantly getting this error for some albums

Command Used

rip url https://www.qobuz.com/nl-nl/album/this-is-fats-domino-fats-domino/3610154106786
rip url https://www.qobuz.com/nl-nl/album/birth-of-the-cool-miles-davis/0887396184664
rip url https://www.qobuz.com/nl-nl/album/the-sounds-of-india-ravi-shankar/g69yb6ijy6v2b
rip url https://www.qobuz.com/nl-nl/album/never-mind-the-bollocks-heres-the-sex-pistols-sex-pistols/0060252796503

Debug Traceback

┌─────────────────────────────── Traceback (most recent call last) ────────────────────────────────┐
│ in _run_module_as_main:198                                                                       │
│ in _run_code:88                                                                                  │
│                                                                                                  │
│                                     ... 13 frames hidden ...                                     │
│                                                                                                  │
│ C:\Users\Admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\streamrip\media\album.p │
│ y:53 in resolve                                                                                  │
│                                                                                                  │
│   50 │   db: Database                                                                            │
│   51 │                                                                                           │
│   52 │   async def resolve(self) -> Album | None:                                                │
│ > 53 │   │   resp = await self.client.get_metadata(self.id, "album")                             │
│   54 │   │   meta = AlbumMetadata.from_album_resp(resp, self.client.source)                      │
│   55 │   │   if meta is None:                                                                    │
│   56 │   │   │   logger.error(                                                                   │
│                                                                                                  │
│ C:\Users\Admin\AppData\Local\Programs\Python\Python311\Lib\site-packages\streamrip\client\qobuz. │
│ py:229 in get_metadata                                                                           │
│                                                                                                  │
│   226 │   │   status, resp = await self._api_request(epoint, params)                             │
│   227 │   │                                                                                      │
│   228 │   │   if status != 200:                                                                  │
│ > 229 │   │   │   raise NonStreamableError(                                                      │
│   230 │   │   │   │   f'Error fetching metadata. Message: "{resp["message"]}"',                  │
│   231 │   │   │   )                                                                              │
│   232                                                                                            │
└──────────────────────────────────────────────────────────────────────────────────────────────────┘
NonStreamableError: Error fetching metadata. Message: "No result matching given argument"

Config File

Deaults

Operating System

Windows 10 (Python 3.11)

streamrip version

rip, version 2.0.2

Screenshots and recordings

No response

Additional context

No response

NighthawkUK commented 10 months ago

Yes same here, i'm not certain but it could be due to an album being unavailable for download. Whatever the reason being, it should skip the album and continue through the list rather then abort the entire script with an error

vantablack333 commented 10 months ago

Yes same here, i'm not certain but it could be due to an album being unavailable for download. Whatever the reason being, it should skip the album and continue through the list rather then abort the entire script with an error

If you want a temp fix for that create a bat or sh file (depending on your OS) with the list of commands (rip url ...) instead of running "rip file".

vantablack333 commented 10 months ago

The problem seems to be region-related. When I logged in and opened "https://www.qobuz.com/**nl-nl**/album/this-is-fats-domino-fats-domino/3610154106786" I was redirected to "https://www.qobuz.com/**us-en**/interpreter/fats-domino/26680". I went through all the pages and there was no this album. The album is not available for US customers so API returns no results.

Edit: they have different IDs for different regions: US: https://www.qobuz.com/us-en/album/night-life-ray-price/0886446099989 NL: https://www.qobuz.com/nl-nl/album/night-life-ray-price/xmocwbff1jdhb

NighthawkUK commented 10 months ago

Yes same here, i'm not certain but it could be due to an album being unavailable for download. Whatever the reason being, it should skip the album and continue through the list rather then abort the entire script with an error

If you want a temp fix for that create a bat or sh file (depending on your OS) with the list of commands (rip url ...) instead of running "rip file".

Thank you! Hadn't thought of doing a batch file!