From 7bd11bdaa44fd3ab2f9f1c0717eab545860c4eda Mon Sep 17 00:00:00 2001 From: Xoconoch Date: Tue, 3 Jun 2025 13:29:18 -0600 Subject: [PATCH] fixed #141 --- requirements.txt | 66 ++++-------------------------------------- routes/utils/artist.py | 14 +++++---- 2 files changed, 13 insertions(+), 67 deletions(-) diff --git a/requirements.txt b/requirements.txt index 30e3410..138e47a 100755 --- a/requirements.txt +++ b/requirements.txt @@ -1,61 +1,5 @@ -amqp==5.3.1 -annotated-types==0.7.0 -anyio==4.9.0 -billiard==4.2.1 -blinker==1.9.0 -celery==5.5.2 -certifi==2025.4.26 -charset-normalizer==3.4.2 -click==8.2.1 -click-didyoumean==0.3.1 -click-plugins==1.1.1 -click-repl==0.3.0 -deezspot @ git+https://github.com/Xoconoch/deezspot-fork-again -defusedxml==0.7.1 -fastapi==0.115.12 -Flask==3.1.1 -Flask-Celery-Helper==1.1.0 -flask-cors==6.0.0 -h11==0.16.0 -httptools==0.6.4 -idna==3.10 -ifaddr==0.2.0 -itsdangerous==2.2.0 -Jinja2==3.1.6 -kombu==5.5.3 -librespot==0.0.9 -MarkupSafe==3.0.2 -mutagen==1.47.0 -prompt_toolkit==3.0.51 -protobuf==3.20.1 -pycryptodome==3.23.0 -pycryptodomex==3.17 -pydantic==2.11.5 -pydantic_core==2.33.2 -PyOgg==0.6.14a1 -python-dateutil==2.9.0.post0 -python-dotenv==1.1.0 -PyYAML==6.0.2 -redis==6.2.0 -requests==2.30.0 -six==1.17.0 -sniffio==1.3.1 -spotipy==2.25.1 -spotipy_anon==1.4 -sse-starlette==2.3.5 -starlette==0.46.2 -tqdm==4.67.1 -typing-inspection==0.4.1 -typing_extensions==4.13.2 -tzdata==2025.2 -urllib3==2.4.0 -uvicorn==0.34.2 -uvloop==0.21.0 -vine==5.1.0 -waitress==3.0.2 -watchfiles==1.0.5 -wcwidth==0.2.13 -websocket-client==1.5.1 -websockets==15.0.1 -Werkzeug==3.1.3 -zeroconf==0.62.0 +waitress +celery +flask +flask_cors +deezspot-spotizerr diff --git a/routes/utils/artist.py b/routes/utils/artist.py index e0cac69..c07f93e 100644 --- a/routes/utils/artist.py +++ b/routes/utils/artist.py @@ -100,7 +100,7 @@ def download_artist_albums(url, album_type="album,single,compilation", request_a raise ValueError(error_msg) # Get artist info with albums - artist_data = get_spotify_info(artist_id, "artist") + artist_data = get_spotify_info(artist_id, "artist_discography") # Debug logging to inspect the structure of artist_data logger.debug(f"Artist data structure has keys: {list(artist_data.keys() if isinstance(artist_data, dict) else [])}") @@ -153,11 +153,13 @@ def download_artist_albums(url, album_type="album,single,compilation", request_a album_name = album.get('name', 'Unknown Album') album_artists = album.get('artists', []) album_artist = album_artists[0].get('name', 'Unknown Artist') if album_artists else 'Unknown Artist' - + album_id = album.get('id') + logger.debug(f"Extracted album URL: {album_url}") - - if not album_url: - logger.warning(f"Skipping album without URL: {album_name}") + logger.debug(f"Extracted album ID: {album_id}") + + if not album_url or not album_id: + logger.warning(f"Skipping album without URL or ID: {album_name}") continue # Create album-specific request args instead of using original artist request @@ -172,7 +174,7 @@ def download_artist_albums(url, album_type="album,single,compilation", request_a } # Include original download URL for this album task - album_request_args["original_url"] = url_for('album.handle_download', url=album_url, _external=True) + album_request_args["original_url"] = url_for('album.handle_download', album_id=album_id, _external=True) # Create task for this album task_data = {