nathom / streamrip

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

[BUG] <title> IndexError: list index out of range (downloading a lastfm playlist) #579

Closed goauld2001 closed 6 months ago

goauld2001 commented 6 months ago

Describe the bug

I can donwload ablums from Deezer without any problem. I have several playlist in my last.fm portal and when I tried to download it with "rip lastfm --source deezer https://www.last.fm/user/goauld2/playlists/12878537", I got the error: "IndexError: list index out of range".

Each playlist I tried to download from last.fm comes to same error.

Python versiรณn: Python 3.11.2 ( running on a python virtual environment) rip, version 2.0.3

Command Used

rip lastfm --source deezer https://www.last.fm/user/goauld2/playlists/12878537

Debug Traceback

(entorno_virtual_python) orangepi@orangepizero2w:~$ rip -vvv lastfm --source deezer https://www.last.fm/user/goauld2/playlists/12878537 
[18:11:37] DEBUG    Showing all debug logs                                                                      cli.py:102
[18:11:40] DEBUG    Fetching lastfm playlist                                                               playlist.py:314
๐ŸŒ—  Searching for last.fm tracks (0 found, 0 failed, 25 total)[18:11:41] DEBUG    Found result for Nemesis Shriekback on deezer                                          playlist.py:269
๐ŸŒ˜  Searching for last.fm tracks (1 found, 0 failed, 25 total)           DEBUG    Found result for Hollow Eyes Red Lorry Yellow Lorry on deezer                          playlist.py:269
๐ŸŒ‘  Searching for last.fm tracks (2 found, 0 failed, 25 total)           DEBUG    Found result for Careering Public Image Ltd. on deezer                                 playlist.py:269
๐ŸŒ’  Searching for last.fm tracks (3 found, 0 failed, 25 total)           DEBUG    Found result for Probability Blackouts on deezer                                       playlist.py:269
๐ŸŒ“  Searching for last.fm tracks (4 found, 0 failed, 25 total)           DEBUG    Found result for Tarantula - 12" Version 1 Remastered Colourbox on deezer              playlist.py:269
๐ŸŒ”  Searching for last.fm tracks (5 found, 0 failed, 25 total)           DEBUG    Found result for Beautiful Losers Clock DVA on deezer                                  playlist.py:269
๐ŸŒ–  Searching for last.fm tracks (6 found, 0 failed, 25 total)[18:11:42] DEBUG    Found result for Anti-glory Horsegirl on deezer                                        playlist.py:269
๐ŸŒ˜  Searching for last.fm tracks (7 found, 0 failed, 25 total)           DEBUG    Found result for Shadow Dance - 12" Version Eyes of the Nightmare Jungle on deezer     playlist.py:269
๐ŸŒ‘  Searching for last.fm tracks (8 found, 0 failed, 25 total)           DEBUG    Found result for I Don't Owe You Anything - 2011 Remaster The Smiths on deezer         playlist.py:269
๐ŸŒ’  Searching for last.fm tracks (9 found, 0 failed, 25 total)           DEBUG    Found result for Winning - Live The Sound on deezer                                    playlist.py:269
๐ŸŒ”  Searching for last.fm tracks (10 found, 0 failed, 25 total)           DEBUG    Found result for I Don't Believe in You - 1997 Remaster Talk Talk on deezer            playlist.py:269
๐ŸŒ•  Searching for last.fm tracks (11 found, 0 failed, 25 total)           DEBUG    Found result for Kill the Sexplayer Girls Against Boys on deezer                       playlist.py:269
๐ŸŒ˜  Searching for last.fm tracks (12 found, 0 failed, 25 total)           DEBUG    Found result for Allein Xmal Deutschland on deezer                                     playlist.py:269
๐ŸŒ‘  Searching for last.fm tracks (13 found, 0 failed, 25 total)[18:11:43] DEBUG    Found result for Joy Division Oven Gloves Half Man Half Biscuit on deezer              playlist.py:269
๐ŸŒ”  Searching for last.fm tracks (14 found, 0 failed, 25 total)           DEBUG    Found result for Brave New World The Cultural Decay on deezer                          playlist.py:269
๐ŸŒ•  Searching for last.fm tracks (15 found, 0 failed, 25 total)           DEBUG    Found result for Falling Quarter Life on deezer                                        playlist.py:269
๐ŸŒ—  Searching for last.fm tracks (16 found, 0 failed, 25 total)           DEBUG    Found result for Expose Tragic Figures on deezer                                       playlist.py:269
๐ŸŒ’  Searching for last.fm tracks (17 found, 0 failed, 25 total)           DEBUG    Found result for Empire Song Killing Joke on deezer                                    playlist.py:269
๐ŸŒ“  Searching for last.fm tracks (18 found, 0 failed, 25 total)           DEBUG    Found result for M.E. Wand on deezer                                                   playlist.py:269
๐ŸŒ”  Searching for last.fm tracks (19 found, 0 failed, 25 total)           DEBUG    Found result for Rose of Flesh and Blood Plastique Noir on deezer                      playlist.py:269
๐ŸŒ–  Searching for last.fm tracks (20 found, 0 failed, 25 total)[18:11:44] DEBUG    Found result for In The Nighttime Death in June on deezer                              playlist.py:269
๐ŸŒ˜  Searching for last.fm tracks (21 found, 0 failed, 25 total)           DEBUG    Found result for Unconscious Melody Preoccupations on deezer                           playlist.py:269
           DEBUG    Found result for Dreamsickle Wombo on deezer                                           playlist.py:269
๐ŸŒ’  Searching for last.fm tracks (23 found, 0 failed, 25 total)           DEBUG    Found result for Paper And Iron (Notes And Coins) - 2001 Remaster XTC on deezer        playlist.py:269
๐ŸŒ”  Searching for last.fm tracks (24 found, 0 failed, 25 total)           DEBUG    Found result for Revenge Ministry on deezer                                            playlist.py:269
           DEBUG    Removing dirs set()                                                                      artwork.py:19
โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Traceback (most recent call last) โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ
โ”‚ /home/orangepi/entorno_virtual_python/bin/rip:8 in <module>                                      โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   5 from streamrip.rip import rip                                                                โ”‚
โ”‚   6 if __name__ == '__main__':                                                                   โ”‚
โ”‚   7 โ”‚   sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])                         โ”‚
โ”‚ โฑ 8 โ”‚   sys.exit(rip())                                                                          โ”‚
โ”‚   9                                                                                              โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ locals โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ                                โ”‚
โ”‚ โ”‚  re = <module 're' from '/usr/lib/python3.11/re/__init__.py'> โ”‚                                โ”‚
โ”‚ โ”‚ rip = <HelpColorsGroup rip>                                   โ”‚                                โ”‚
โ”‚ โ”‚ sys = <module 'sys' (built-in)>                               โ”‚                                โ”‚
โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ                                โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /home/orangepi/entorno_virtual_python/lib/python3.11/site-packages/click/core.py:1157 in         โ”‚
โ”‚ __call__                                                                                         โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /home/orangepi/entorno_virtual_python/lib/python3.11/site-packages/click/core.py:1078 in main    โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /home/orangepi/entorno_virtual_python/lib/python3.11/site-packages/click/core.py:1688 in invoke  โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /home/orangepi/entorno_virtual_python/lib/python3.11/site-packages/click/core.py:1434 in invoke  โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /home/orangepi/entorno_virtual_python/lib/python3.11/site-packages/click/core.py:783 in invoke   โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /home/orangepi/entorno_virtual_python/lib/python3.11/site-packages/click/decorators.py:33 in     โ”‚
โ”‚ new_func                                                                                         โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /home/orangepi/entorno_virtual_python/lib/python3.11/site-packages/streamrip/rip/cli.py:28 in    โ”‚
โ”‚ wrapper                                                                                          โ”‚
โ”‚                                                                                                  โ”‚
โ”‚    25 def coro(f):                                                                               โ”‚
โ”‚    26 โ”‚   @wraps(f)                                                                              โ”‚
โ”‚    27 โ”‚   def wrapper(*args, **kwargs):                                                          โ”‚
โ”‚ โฑ  28 โ”‚   โ”‚   return asyncio.run(f(*args, **kwargs))                                             โ”‚
โ”‚    29 โ”‚                                                                                          โ”‚
โ”‚    30 โ”‚   return wrapper                                                                         โ”‚
โ”‚    31                                                                                            โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ locals โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ                   โ”‚
โ”‚ โ”‚   args = (<click.core.Context object at 0xffff960b5810>,)                  โ”‚                   โ”‚
โ”‚ โ”‚      f = <function lastfm at 0xffff9357b4c0>                               โ”‚                   โ”‚
โ”‚ โ”‚ kwargs = {                                                                 โ”‚                   โ”‚
โ”‚ โ”‚          โ”‚   'source': 'deezer',                                           โ”‚                   โ”‚
โ”‚ โ”‚          โ”‚   'url': 'https://www.last.fm/user/goauld2/playlists/12878537', โ”‚                   โ”‚
โ”‚ โ”‚          โ”‚   'fallback_source': None                                       โ”‚                   โ”‚
โ”‚ โ”‚          }                                                                 โ”‚                   โ”‚
โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ                   โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/lib/python3.11/asyncio/runners.py:190 in run                                                โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   187 โ”‚   โ”‚   โ”‚   "asyncio.run() cannot be called from a running event loop")                    โ”‚
โ”‚   188 โ”‚                                                                                          โ”‚
โ”‚   189 โ”‚   with Runner(debug=debug) as runner:                                                    โ”‚
โ”‚ โฑ 190 โ”‚   โ”‚   return runner.run(main)                                                            โ”‚
โ”‚   191                                                                                            โ”‚
โ”‚   192                                                                                            โ”‚
โ”‚   193 def _cancel_all_tasks(loop):                                                               โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ locals โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ                                   โ”‚
โ”‚ โ”‚  debug = None                                              โ”‚                                   โ”‚
โ”‚ โ”‚   main = <coroutine object lastfm at 0xffff934e1c60>       โ”‚                                   โ”‚
โ”‚ โ”‚ runner = <asyncio.runners.Runner object at 0xffff935626d0> โ”‚                                   โ”‚
โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ                                   โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/lib/python3.11/asyncio/runners.py:118 in run                                                โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   115 โ”‚   โ”‚                                                                                      โ”‚
โ”‚   116 โ”‚   โ”‚   self._interrupt_count = 0                                                          โ”‚
โ”‚   117 โ”‚   โ”‚   try:                                                                               โ”‚
โ”‚ โฑ 118 โ”‚   โ”‚   โ”‚   return self._loop.run_until_complete(task)                                     โ”‚
โ”‚   119 โ”‚   โ”‚   except exceptions.CancelledError:                                                  โ”‚
โ”‚   120 โ”‚   โ”‚   โ”‚   if self._interrupt_count > 0:                                                  โ”‚
โ”‚   121 โ”‚   โ”‚   โ”‚   โ”‚   uncancel = getattr(task, "uncancel", None)                                 โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ locals โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ”‚
โ”‚ โ”‚        context = <_contextvars.Context object at 0xffff9337e700>                             โ”‚ โ”‚
โ”‚ โ”‚           coro = <coroutine object lastfm at 0xffff934e1c60>                                 โ”‚ โ”‚
โ”‚ โ”‚           self = <asyncio.runners.Runner object at 0xffff935626d0>                           โ”‚ โ”‚
โ”‚ โ”‚ sigint_handler = functools.partial(<bound method Runner._on_sigint of                        โ”‚ โ”‚
โ”‚ โ”‚                  <asyncio.runners.Runner object at 0xffff935626d0>>, main_task=<Task         โ”‚ โ”‚
โ”‚ โ”‚                  finished name='Task-1' coro=<lastfm() done, defined at                      โ”‚ โ”‚
โ”‚ โ”‚                  /home/orangepi/entorno_virtual_python/lib/python3.11/site-packages/streamrโ€ฆ โ”‚ โ”‚
โ”‚ โ”‚                  exception=IndexError('list index out of range')>)                           โ”‚ โ”‚
โ”‚ โ”‚           task = <Task finished name='Task-1' coro=<lastfm() done, defined at                โ”‚ โ”‚
โ”‚ โ”‚                  /home/orangepi/entorno_virtual_python/lib/python3.11/site-packages/streamrโ€ฆ โ”‚ โ”‚
โ”‚ โ”‚                  exception=IndexError('list index out of range')>                            โ”‚ โ”‚
โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /usr/lib/python3.11/asyncio/base_events.py:653 in run_until_complete                             โ”‚
โ”‚                                                                                                  โ”‚
โ”‚    650 โ”‚   โ”‚   if not future.done():                                                             โ”‚
โ”‚    651 โ”‚   โ”‚   โ”‚   raise RuntimeError('Event loop stopped before Future completed.')             โ”‚
โ”‚    652 โ”‚   โ”‚                                                                                     โ”‚
โ”‚ โฑ  653 โ”‚   โ”‚   return future.result()                                                            โ”‚
โ”‚    654 โ”‚                                                                                         โ”‚
โ”‚    655 โ”‚   def stop(self):                                                                       โ”‚
โ”‚    656 โ”‚   โ”‚   """Stop running the event loop.                                                   โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ locals โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ”‚
โ”‚ โ”‚   future = <Task finished name='Task-1' coro=<lastfm() done, defined at                      โ”‚ โ”‚
โ”‚ โ”‚            /home/orangepi/entorno_virtual_python/lib/python3.11/site-packages/streamrip/ripโ€ฆ โ”‚ โ”‚
โ”‚ โ”‚            exception=IndexError('list index out of range')>                                  โ”‚ โ”‚
โ”‚ โ”‚ new_task = False                                                                             โ”‚ โ”‚
โ”‚ โ”‚     self = <_UnixSelectorEventLoop running=False closed=True debug=False>                    โ”‚ โ”‚
โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /home/orangepi/entorno_virtual_python/lib/python3.11/site-packages/streamrip/rip/cli.py:395 in   โ”‚
โ”‚ lastfm                                                                                           โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   392 โ”‚   โ”‚   config.session.lastfm.fallback_source = fallback_source                            โ”‚
โ”‚   393 โ”‚   with config as cfg:                                                                    โ”‚
โ”‚   394 โ”‚   โ”‚   async with Main(cfg) as main:                                                      โ”‚
โ”‚ โฑ 395 โ”‚   โ”‚   โ”‚   await main.resolve_lastfm(url)                                                 โ”‚
โ”‚   396 โ”‚   โ”‚   โ”‚   await main.rip()                                                               โ”‚
โ”‚   397                                                                                            โ”‚
โ”‚   398                                                                                            โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ locals โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ                      โ”‚
โ”‚ โ”‚             cfg = <streamrip.config.Config object at 0xffff94b43250>    โ”‚                      โ”‚
โ”‚ โ”‚          config = <streamrip.config.Config object at 0xffff94b43250>    โ”‚                      โ”‚
โ”‚ โ”‚             ctx = <click.core.Context object at 0xffff960b5810>         โ”‚                      โ”‚
โ”‚ โ”‚ fallback_source = None                                                  โ”‚                      โ”‚
โ”‚ โ”‚            main = <streamrip.rip.main.Main object at 0xffff9337d250>    โ”‚                      โ”‚
โ”‚ โ”‚          source = 'deezer'                                              โ”‚                      โ”‚
โ”‚ โ”‚             url = 'https://www.last.fm/user/goauld2/playlists/12878537' โ”‚                      โ”‚
โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ                      โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /home/orangepi/entorno_virtual_python/lib/python3.11/site-packages/streamrip/rip/main.py:270 in  โ”‚
โ”‚ resolve_lastfm                                                                                   โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   267 โ”‚   โ”‚   โ”‚   self.config,                                                                   โ”‚
โ”‚   268 โ”‚   โ”‚   โ”‚   self.database,                                                                 โ”‚
โ”‚   269 โ”‚   โ”‚   )                                                                                  โ”‚
โ”‚ โฑ 270 โ”‚   โ”‚   playlist = await pending_playlist.resolve()                                        โ”‚
โ”‚   271 โ”‚   โ”‚                                                                                      โ”‚
โ”‚   272 โ”‚   โ”‚   if playlist is not None:                                                           โ”‚
โ”‚   273 โ”‚   โ”‚   โ”‚   self.media.append(playlist)                                                    โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ locals โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ”‚
โ”‚ โ”‚                c = LastFmConfig(source='deezer', fallback_source='')                         โ”‚ โ”‚
โ”‚ โ”‚           client = <streamrip.client.deezer.DeezerClient object at 0xffff9337dd10>           โ”‚ โ”‚
โ”‚ โ”‚  fallback_client = None                                                                      โ”‚ โ”‚
โ”‚ โ”‚ pending_playlist = PendingLastfmPlaylist(                                                    โ”‚ โ”‚
โ”‚ โ”‚                    โ”‚   lastfm_url='https://www.last.fm/user/goauld2/playlists/12878537',     โ”‚ โ”‚
โ”‚ โ”‚                    โ”‚   client=<streamrip.client.deezer.DeezerClient object at                โ”‚ โ”‚
โ”‚ โ”‚                    0xffff9337dd10>,                                                          โ”‚ โ”‚
โ”‚ โ”‚                    โ”‚   fallback_client=None,                                                 โ”‚ โ”‚
โ”‚ โ”‚                    โ”‚   config=<streamrip.config.Config object at 0xffff94b43250>,            โ”‚ โ”‚
โ”‚ โ”‚                    โ”‚   db=Database(                                                          โ”‚ โ”‚
โ”‚ โ”‚                    โ”‚   โ”‚   downloads=<streamrip.db.Downloads object at 0xffff947329d0>,      โ”‚ โ”‚
โ”‚ โ”‚                    โ”‚   โ”‚   failed=<streamrip.db.Failed object at 0xffff934ddd10>             โ”‚ โ”‚
โ”‚ โ”‚                    โ”‚   )                                                                     โ”‚ โ”‚
โ”‚ โ”‚                    )                                                                         โ”‚ โ”‚
โ”‚ โ”‚     playlist_url = 'https://www.last.fm/user/goauld2/playlists/12878537'                     โ”‚ โ”‚
โ”‚ โ”‚             self = <streamrip.rip.main.Main object at 0xffff9337d250>                        โ”‚ โ”‚
โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /home/orangepi/entorno_virtual_python/lib/python3.11/site-packages/streamrip/media/playlist.py:2 โ”‚
โ”‚ 15 in resolve                                                                                    โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   212 โ”‚   โ”‚   โ”‚   โ”‚                                                                              โ”‚
โ”‚   213 โ”‚   โ”‚   โ”‚   โ”‚   for title, artist in titles_artists:                                       โ”‚
โ”‚   214 โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   requests.append(self._make_query(f"{title} {artist}", s, callback))    โ”‚
โ”‚ โฑ 215 โ”‚   โ”‚   โ”‚   โ”‚   results: list[tuple[str | None, bool]] = await asyncio.gather(*requests)   โ”‚
โ”‚   216 โ”‚   โ”‚   else:                                                                              โ”‚
โ”‚   217 โ”‚   โ”‚   โ”‚                                                                                  โ”‚
โ”‚   218 โ”‚   โ”‚   โ”‚   def callback():                                                                โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ locals โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ”‚
โ”‚ โ”‚         artist = 'Ministry'                                                                  โ”‚ โ”‚
โ”‚ โ”‚       callback = <function PendingLastfmPlaylist.resolve.<locals>.callback at                โ”‚ โ”‚
โ”‚ โ”‚                  0xffff935aff60>                                                             โ”‚ โ”‚
โ”‚ โ”‚ playlist_title = 'r/PostPunk | Top weekly posts'                                             โ”‚ โ”‚
โ”‚ โ”‚       requests = [                                                                           โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   <coroutine object PendingLastfmPlaylist._make_query at 0xffff933ffab0>, โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   <coroutine object PendingLastfmPlaylist._make_query at 0xffff933ff890>, โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   <coroutine object PendingLastfmPlaylist._make_query at 0xffff933ff9a0>, โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   <coroutine object PendingLastfmPlaylist._make_query at 0xffff933ff670>, โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   <coroutine object PendingLastfmPlaylist._make_query at 0xffff933ff560>, โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   <coroutine object PendingLastfmPlaylist._make_query at 0xffff933ff780>, โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   <coroutine object PendingLastfmPlaylist._make_query at 0xffff933ff450>, โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   <coroutine object PendingLastfmPlaylist._make_query at 0xffff933fe350>, โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   <coroutine object PendingLastfmPlaylist._make_query at 0xffff933ff230>, โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   <coroutine object PendingLastfmPlaylist._make_query at 0xffff933fdbe0>, โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   ... +15                                                                 โ”‚ โ”‚
โ”‚ โ”‚                  ]                                                                           โ”‚ โ”‚
โ”‚ โ”‚              s = Status(found=25, failed=0, total=25)                                        โ”‚ โ”‚
โ”‚ โ”‚           self = PendingLastfmPlaylist(                                                      โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   lastfm_url='https://www.last.fm/user/goauld2/playlists/12878537',       โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   client=<streamrip.client.deezer.DeezerClient object at 0xffff9337dd10>, โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   fallback_client=None,                                                   โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   config=<streamrip.config.Config object at 0xffff94b43250>,              โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   db=Database(                                                            โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   โ”‚   downloads=<streamrip.db.Downloads object at 0xffff947329d0>,        โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   โ”‚   failed=<streamrip.db.Failed object at 0xffff934ddd10>               โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   )                                                                       โ”‚ โ”‚
โ”‚ โ”‚                  )                                                                           โ”‚ โ”‚
โ”‚ โ”‚         status = <rich.status.Status object at 0xffff934dd450>                               โ”‚ โ”‚
โ”‚ โ”‚          title = 'Revenge'                                                                   โ”‚ โ”‚
โ”‚ โ”‚ titles_artists = [                                                                           โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   ('Nemesis', 'Shriekback'),                                              โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   ('Hollow Eyes', 'Red Lorry Yellow Lorry'),                              โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   ('Careering', 'Public Image Ltd.'),                                     โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   ('Probability', 'Blackouts'),                                           โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   ('Tarantula - 12" Version 1 Remastered', 'Colourbox'),                  โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   ('Beautiful Losers', 'Clock DVA'),                                      โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   ('Anti-glory', 'Horsegirl'),                                            โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   ('Shadow Dance - 12" Version', 'Eyes of the Nightmare Jungle'),         โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   ("I Don't Owe You Anything - 2011 Remaster", 'The Smiths'),             โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   ('Winning - Live', 'The Sound'),                                        โ”‚ โ”‚
โ”‚ โ”‚                  โ”‚   ... +15                                                                 โ”‚ โ”‚
โ”‚ โ”‚                  ]                                                                           โ”‚ โ”‚
โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ /home/orangepi/entorno_virtual_python/lib/python3.11/site-packages/streamrip/media/playlist.py:2 โ”‚
โ”‚ 72 in _make_query                                                                                โ”‚
โ”‚                                                                                                  โ”‚
โ”‚   269 โ”‚   โ”‚   โ”‚   โ”‚   logger.debug(f"Found result for {query} on {self.client.source}")          โ”‚
โ”‚   270 โ”‚   โ”‚   โ”‚   โ”‚   s.found += 1                                                               โ”‚
โ”‚   271 โ”‚   โ”‚   โ”‚   โ”‚   return (                                                                   โ”‚
โ”‚ โฑ 272 โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   SearchResults.from_pages(self.client.source, "track", pages)           โ”‚
โ”‚   273 โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   .results[0]                                                            โ”‚
โ”‚   274 โ”‚   โ”‚   โ”‚   โ”‚   โ”‚   .id                                                                    โ”‚
โ”‚   275 โ”‚   โ”‚   โ”‚   โ”‚   ), False                                                                   โ”‚
โ”‚                                                                                                  โ”‚
โ”‚ โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ locals โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ      โ”‚
โ”‚ โ”‚ callback = <function PendingLastfmPlaylist.resolve.<locals>.callback at 0xffff935aff60> โ”‚      โ”‚
โ”‚ โ”‚    pages = [{'data': [], 'total': 0}]                                                   โ”‚      โ”‚
โ”‚ โ”‚    query = 'In The Nighttime Death in June'                                             โ”‚      โ”‚
โ”‚ โ”‚        s = Status(found=25, failed=0, total=25)                                         โ”‚      โ”‚
โ”‚ โ”‚     self = PendingLastfmPlaylist(                                                       โ”‚      โ”‚
โ”‚ โ”‚            โ”‚   lastfm_url='https://www.last.fm/user/goauld2/playlists/12878537',        โ”‚      โ”‚
โ”‚ โ”‚            โ”‚   client=<streamrip.client.deezer.DeezerClient object at 0xffff9337dd10>,  โ”‚      โ”‚
โ”‚ โ”‚            โ”‚   fallback_client=None,                                                    โ”‚      โ”‚
โ”‚ โ”‚            โ”‚   config=<streamrip.config.Config object at 0xffff94b43250>,               โ”‚      โ”‚
โ”‚ โ”‚            โ”‚   db=Database(                                                             โ”‚      โ”‚
โ”‚ โ”‚            โ”‚   โ”‚   downloads=<streamrip.db.Downloads object at 0xffff947329d0>,         โ”‚      โ”‚
โ”‚ โ”‚            โ”‚   โ”‚   failed=<streamrip.db.Failed object at 0xffff934ddd10>                โ”‚      โ”‚
โ”‚ โ”‚            โ”‚   )                                                                        โ”‚      โ”‚
โ”‚ โ”‚            )                                                                            โ”‚      โ”‚
โ”‚ โ”‚    stack = <contextlib.ExitStack object at 0xffff93fb5b10>                              โ”‚      โ”‚
โ”‚ โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ      โ”‚
โ•ฐโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฏ
IndexError: list index out of range

Config File

[downloads]
# Folder where tracks are downloaded to
folder = "/home/orangepi/StreamripDownloads"
# Put Qobuz albums in a 'Qobuz' folder, Tidal albums in 'Tidal' etc.
source_subdirectories = false

# 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.
concurrency = 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
# Set to -1 for no limit
max_connections = 6
# Max number of API requests per source to handle per minute
# Set to -1 for no limit
requests_per_minute = 60

[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

# Authenticate to Qobuz using auth token? Value can be true/false only
use_auth_token = false
# Enter your userid if the above use_auth_token is set to true, else enter your email
email_or_userid = ""
# Enter your auth token if the above use_auth_token is set to true, else enter the md5 hash of your plaintext password
password_or_token = ""
# 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 = 1
# 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 = "dxxxxxxxxxx257144057c76210c83517dee7fd72c824cb9c0cc2ecd6xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
# This allows for free 320kbps MP3 downloads from Deezer
# If an arl is provided, deezloader is never used
use_deezloader = true
# 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 = "/home/orangepi/StreamripDownloads/YouTubeVideos"

[database]
# Create a database that contains all the track IDs downloaded so far
# Any time a track logged in the database is requested, it is skipped
# This can be disabled temporarily with the --no-db flag
downloads_enabled = true
# Path to the downloads database 
downloads_path = "/home/orangepi/.config/streamrip/downloads.db"
# If a download fails, the item ID is stored here. Then, `rip repair` can be
# called to retry the downloads
failed_downloads_enabled = true
failed_downloads_path = "/home/orangepi/.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.
# This will also be applied to other sources, but is not guaranteed to work correctly
[qobuz_filters]
# Remove Collectors Editions, live recordings, etc.
extras = false
# Picks the highest quality out of albums with identical titles.
repeats = false
# 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 = false

[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.
embed_size = "large"
# If this is set to a value > 0, max(width, height) of the embedded art will be set to this value in pixels
# Proportions of the image will remain the same
embed_max_width = -1
# Save the cover image at the highest quality as a seperate jpg file
save_artwork = true
# If this is set to a value > 0, max(width, height) of the saved art will be set to this value in pixels
# Proportions of the image will remain the same
saved_max_width = -1

[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 = true
# If part of a playlist, sets the `tracknumber` field in the metadata to the track's 
# position in the playlist instead of its position in its album
renumber_playlist_tracks = true
# 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",
# "id", and "albumcomposer"
folder_format = "{albumartist} - {title} ({year}) [{container}] [{bit_depth}B-{sampling_rate}kHz]"
# Available keys: "tracknumber", "artist", "albumartist", "composer", "title",
# and "albumcomposer", "explicit"
track_format = "{tracknumber}. {artist} - {title}{explicit}"
# Only allow printable ASCII characters in filenames.
restrict_characters = false
# Truncate the filename if it is greater than this number of characters
# Setting this to false may cause downloads to fail on some systems
truncate_to = 120

# 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 = ""

[cli]
# Print "Downloading {Album name}" etc. to screen
text_output = true
# Show resolve, download progress bars
progress_bars = true
# The maximum number of search results to show in the interactive menu
max_search_results = 100

[misc]
# Metadata to identify this config file. Do not change.
version = "2.0.3"
# Print a message if a new version of streamrip is available 
check_for_updates = true

Operating System

Debian 12 ((entorno_virtual_python) orangepi@orangepiDebian 12 (6.1.31-sun50iw9 #1.0.0 SMP Thu Sep 7 17:39:46 CST 2023 aarch64 GNU/Linux)

streamrip version

rip, version 2.0.3

Screenshots and recordings

No response

Additional context

No response