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
17.48k stars 1.6k forks source link

"spotdl web" failing with directory does not exist error #2166

Closed Enzo1603 closed 2 months ago

Enzo1603 commented 2 months ago

System OS

Linux

Python Version

3.11 (CPython)

Install Source

pip / PyPi

Install version / commit hash

4.2.6

Expected Behavior vs Actual Behavior

Typically it would open the web app in the browser but in this new version (4.2.6) it fails with a "Directory does not exist" error. I use python 3.12.4 (could not choose 3.12 in the python version field above, only up to 3.11) on Fedora 40.

I reverted spotdl back to version 4.2.5 where the "spotdl web" command works just fine.

image

Steps to reproduce - Ensure to include actual links!

Install version 4.2.6 and run "spotdl web".

Traceback

➜  ~ spotdl web
Using cached web app. To update use the `--force-update-gui` flag.                                                                                                                                  
╭─────────────────────────────── Traceback (most recent call last) ────────────────────────────────╮
│ /home/enzo/.local/bin/spotdl:8 in <module>                                                       │
│                                                                                                  │
│   7 │   sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])                         │
│ ❱ 8 │   sys.exit(console_entry_point())                                                          │
│   9                                                                                              │
│                                                                                                  │
│ /home/enzo/.local/lib/python3.12/site-packages/spotdl/console/entry_point.py:53 in               │
│ console_entry_point                                                                              │
│                                                                                                  │
│    52 │   else:                                                                                  │
│ ❱  53 │   │   entry_point()                                                                      │
│    54                                                                                            │
│                                                                                                  │
│ /home/enzo/.local/lib/python3.12/site-packages/spotdl/console/entry_point.py:119 in entry_point  │
│                                                                                                  │
│   118 │   │   # Start web ui                                                                     │
│ ❱ 119 │   │   web(web_settings, downloader_settings)                                             │
│   120                                                                                            │
│                                                                                                  │
│ /home/enzo/.local/lib/python3.12/site-packages/spotdl/console/web.py:118 in web                  │
│                                                                                                  │
│   117 │   │   "/",                                                                               │
│ ❱ 118 │   │   SPAStaticFiles(directory=web_app_dir, html=True),                                  │
│   119 │   │   name="static",                                                                     │
│                                                                                                  │
│ /home/enzo/.local/lib/python3.12/site-packages/starlette/staticfiles.py:57 in __init__           │
│                                                                                                  │
│    56 │   │   if check_dir and directory is not None and not os.path.isdir(directory):           │
│ ❱  57 │   │   │   raise RuntimeError(f"Directory '{directory}' does not exist")                  │
│    58                                                                                            │
╰──────────────────────────────────────────────────────────────────────────────────────────────────╯
RuntimeError: Directory '/dist' does not exist

Other details

No response

xnetcat commented 2 months ago

Already fixed, I will release an update ASAP

xnetcat commented 2 months ago

released v4.2.7