spotDL / spotify-downloader

Download your Spotify playlists and songs along with album art and metadata (from YouTube if a match is found).
https://spotdl.readthedocs.io/en/latest/
MIT License
15.55k stars 1.48k forks source link

Attribute error when trying to download own PUBLIC playlist. #2100

Open TadyHUN opened 1 month ago

TadyHUN commented 1 month ago

System OS

Windows

Python Version

3.11 (CPython)

Install Source

GitHub

Install version / commit hash

v4.2.5

Expected Behavior vs Actual Behavior

Tried to dl my self-made spotify playlist with the command: "python -m spotdl [my album's url]" and after doing nothing for a few seconds I got TWO traceback squares and the same AttributeError between and below the squares.

Steps to reproduce - Ensure to include actual links!

python -m spotdl [Spotify playlist URL]

Traceback

┌─────────────────────────────── Traceback (most recent call last) ────────────────────────────────┐
│                                                                                                  │
│ E:\Coding\Spotify\spotify-downloader-4.2.5\spotdl\console\entry_point.py:142 in                  │
│ console_entry_point                                                                              │
│                                                                                                  │
│   141 │   │   # based on the name and run it!                                                    │
│ > 142 │   │   OPERATIONS[arguments.operation](                                                   │
│   143 │   │   │   query=arguments.query,                                                         │
│ E:\Coding\Spotify\spotify-downloader-4.2.5\spotdl\console\download.py:25 in download             │
│                                                                                                  │
│   24 │   # Parse the query                                                                       │
│ > 25 │   songs = get_simple_songs(                                                               │
│   26 │   │   query,                                                                              │
│                                                                                                  │
│ E:\Coding\Spotify\spotify-downloader-4.2.5\spotdl\utils\search.py:137 in get_simple_songs        │
│                                                                                                  │
│   136 │   for request in query:                                                                  │
│ > 137 │   │   logger.info("Processing query: %s", request)                                       │
│   138                                                                                            │
│                                                                                                  │
│ C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0 │
│ \Lib\logging\__init__.py:1489 in info                                                            │
│                                                                                                  │
│   1488 │   │   if self.isEnabledFor(INFO):                                                       │
│ > 1489 │   │   │   self._log(INFO, msg, args, **kwargs)                                          │
│   1490                                                                                           │
│                                                                                                  │
│ C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0 │
│ \Lib\logging\__init__.py:1634 in _log                                                            │
│                                                                                                  │
│   1633 │   │   │   │   │   │   │   │    exc_info, func, extra, sinfo)                            │
│ > 1634 │   │   self.handle(record)                                                               │
│   1635                                                                                           │
│                                                                                                  │
│ C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0 │
│ \Lib\logging\__init__.py:1644 in handle                                                          │
│                                                                                                  │
│   1643 │   │   if (not self.disabled) and self.filter(record):                                   │
│ > 1644 │   │   │   self.callHandlers(record)                                                     │
│   1645                                                                                           │
│                                                                                                  │
│ C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0 │
│ \Lib\logging\__init__.py:1706 in callHandlers                                                    │
│                                                                                                  │
│   1705 │   │   │   │   if record.levelno >= hdlr.level:                                          │
│ > 1706 │   │   │   │   │   hdlr.handle(record)                                                   │
│   1707 │   │   │   if not c.propagate:                                                           │
│                                                                                                  │
│ C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0 │
│ \Lib\logging\__init__.py:978 in handle                                                           │
│                                                                                                  │
│    977 │   │   │   try:                                                                          │
│ >  978 │   │   │   │   self.emit(record)                                                         │
│    979 │   │   │   finally:                                                                      │
│                                                                                                  │
│ C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCac │
│ he\local-packages\Python311\site-packages\rich\logging.py:149 in emit                            │
│                                                                                                  │
│   148 │   │                                                                                      │
│ > 149 │   │   message_renderable = self.render_message(record, message)                          │
│   150 │   │   log_renderable = self.render(                                                      │
│                                                                                                  │
│ E:\Coding\Spotify\spotify-downloader-4.2.5\spotdl\utils\logging.py:152 in render_message         │
│                                                                                                  │
│   151 │   │                                                                                      │
│ > 152 │   │   if self.keywords is None:                                                          │
│   153 │   │   │   self.keywords = self.KEYWORDS                                                  │
└──────────────────────────────────────────────────────────────────────────────────────────────────┘
AttributeError: 'SpotdlHandler' object has no attribute 'keywords'

During handling of the above exception, another exception occurred:

┌─────────────────────────────── Traceback (most recent call last) ────────────────────────────────┐
│ <frozen runpy>:198 in _run_module_as_main                                                        │
│ <frozen runpy>:88 in _run_code                                                                   │
│                                                                                                  │
│ E:\Coding\Spotify\spotify-downloader-4.2.5\spotdl\__main__.py:9 in <module>                      │
│                                                                                                  │
│    8 if __name__ == "__main__":                                                                  │
│ >  9 │   console_entry_point()                                                                   │
│   10                                                                                             │
│                                                                                                  │
│ E:\Coding\Spotify\spotify-downloader-4.2.5\spotdl\console\entry_point.py:159 in                  │
│ console_entry_point                                                                              │
│                                                                                                  │
│   158 │   │   downloader.progress_handler.close()                                                │
│ > 159 │   │   logger.exception("An error occurred")                                              │
│   160                                                                                            │
│                                                                                                  │
│ C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0 │
│ \Lib\logging\__init__.py:1524 in exception                                                       │
│                                                                                                  │
│   1523 │   │   """                                                                               │
│ > 1524 │   │   self.error(msg, *args, exc_info=exc_info, **kwargs)                               │
│   1525                                                                                           │
│                                                                                                  │
│ C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0 │
│ \Lib\logging\__init__.py:1518 in error                                                           │
│                                                                                                  │
│   1517 │   │   if self.isEnabledFor(ERROR):                                                      │
│ > 1518 │   │   │   self._log(ERROR, msg, args, **kwargs)                                         │
│   1519                                                                                           │
│                                                                                                  │
│ C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0 │
│ \Lib\logging\__init__.py:1634 in _log                                                            │
│                                                                                                  │
│   1633 │   │   │   │   │   │   │   │    exc_info, func, extra, sinfo)                            │
│ > 1634 │   │   self.handle(record)                                                               │
│   1635                                                                                           │
│                                                                                                  │
│ C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0 │
│ \Lib\logging\__init__.py:1644 in handle                                                          │
│                                                                                                  │
│   1643 │   │   if (not self.disabled) and self.filter(record):                                   │
│ > 1644 │   │   │   self.callHandlers(record)                                                     │
│   1645                                                                                           │
│                                                                                                  │
│ C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0 │
│ \Lib\logging\__init__.py:1706 in callHandlers                                                    │
│                                                                                                  │
│   1705 │   │   │   │   if record.levelno >= hdlr.level:                                          │
│ > 1706 │   │   │   │   │   hdlr.handle(record)                                                   │
│   1707 │   │   │   if not c.propagate:                                                           │
│                                                                                                  │
│ C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.2544.0_x64__qbz5n2kfra8p0 │
│ \Lib\logging\__init__.py:978 in handle                                                           │
│                                                                                                  │
│    977 │   │   │   try:                                                                          │
│ >  978 │   │   │   │   self.emit(record)                                                         │
│    979 │   │   │   finally:                                                                      │
│                                                                                                  │
│ C:\Users\User\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCac │
│ he\local-packages\Python311\site-packages\rich\logging.py:149 in emit                            │
│                                                                                                  │
│   148 │   │                                                                                      │
│ > 149 │   │   message_renderable = self.render_message(record, message)                          │
│   150 │   │   log_renderable = self.render(                                                      │
│                                                                                                  │
│ E:\Coding\Spotify\spotify-downloader-4.2.5\spotdl\utils\logging.py:152 in render_message         │
│                                                                                                  │
│   151 │   │                                                                                      │
│ > 152 │   │   if self.keywords is None:                                                          │
│   153 │   │   │   self.keywords = self.KEYWORDS                                                  │
└──────────────────────────────────────────────────────────────────────────────────────────────────┘
AttributeError: 'SpotdlHandler' object has no attribute 'keywords'

Other details

Using simply the spotdl command doesn't work even when opening cmd in the spotify-downloader's folder.