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
(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
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
Debug Traceback
Config File
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