feat: Added pad_number_width setting to the backend (deezspot 2.7.2

This commit is contained in:
Xoconoch
2025-08-20 10:42:21 -05:00
parent 772c22daa8
commit ac49089e25
5 changed files with 32 additions and 0 deletions

View File

@@ -32,6 +32,7 @@ def download_album(
spotify_metadata=True,
_is_celery_task_execution=False, # Added to skip duplicate check from Celery task
real_time_multiplier=None,
pad_number_width=None,
):
if not _is_celery_task_execution:
existing_task = get_existing_task_id(
@@ -117,6 +118,7 @@ def download_album(
bitrate=bitrate,
artist_separator=artist_separator,
spotify_metadata=spotify_metadata,
pad_number_width=pad_number_width,
)
print(
f"DEBUG: album.py - Album download via Deezer (account: {fallback}) successful for Spotify URL."
@@ -175,6 +177,7 @@ def download_album(
bitrate=bitrate,
artist_separator=artist_separator,
real_time_multiplier=real_time_multiplier,
pad_number_width=pad_number_width,
)
print(
f"DEBUG: album.py - Spotify direct download (account: {main} for blob) successful."
@@ -231,6 +234,7 @@ def download_album(
bitrate=bitrate,
artist_separator=artist_separator,
real_time_multiplier=real_time_multiplier,
pad_number_width=pad_number_width,
)
print(
f"DEBUG: album.py - Direct Spotify download (account: {main} for blob) successful."
@@ -271,6 +275,7 @@ def download_album(
convert_to=convert_to,
bitrate=bitrate,
artist_separator=artist_separator,
pad_number_width=pad_number_width,
)
print(
f"DEBUG: album.py - Direct Deezer download (account: {main}) successful."

View File

@@ -50,6 +50,7 @@ DEFAULT_MAIN_CONFIG = {
"separateTracksByUser": False,
"watch": {},
"realTimeMultiplier": 0,
"padNumberWidth": 3,
}
@@ -65,6 +66,7 @@ def _migrate_legacy_keys(cfg: dict) -> tuple[dict, bool]:
"recursive_quality": "recursiveQuality",
"spotify_metadata": "spotifyMetadata",
"real_time_multiplier": "realTimeMultiplier",
"pad_number_width": "padNumberWidth",
}
for legacy, camel in legacy_map.items():
if legacy in out and camel not in out:

View File

@@ -550,6 +550,9 @@ def retry_task(task_id):
task_info["pad_tracks"] = task_info.get(
"pad_tracks", config_params.get("tracknum_padding", True)
)
task_info["pad_number_width"] = task_info.get(
"pad_number_width", config_params.get("padNumberWidth", 3)
)
# Store the updated task info
store_task_info(new_task_id, task_info)
@@ -1629,6 +1632,9 @@ def download_track(self, **task_data):
real_time_multiplier = task_data.get(
"real_time_multiplier", config_params.get("realTimeMultiplier", 0)
)
pad_number_width = task_data.get(
"pad_number_width", config_params.get("padNumberWidth", 3)
)
# Execute the download - service is now determined from URL
download_track_func(
@@ -1650,6 +1656,7 @@ def download_track(self, **task_data):
spotify_metadata=spotify_metadata,
_is_celery_task_execution=True, # Skip duplicate check inside Celery task (consistency)
real_time_multiplier=real_time_multiplier,
pad_number_width=pad_number_width,
)
return {"status": "success", "message": "Track download completed"}
@@ -1732,6 +1739,9 @@ def download_album(self, **task_data):
real_time_multiplier = task_data.get(
"real_time_multiplier", config_params.get("realTimeMultiplier", 0)
)
pad_number_width = task_data.get(
"pad_number_width", config_params.get("padNumberWidth", 3)
)
# Execute the download - service is now determined from URL
download_album_func(
@@ -1753,6 +1763,7 @@ def download_album(self, **task_data):
spotify_metadata=spotify_metadata,
_is_celery_task_execution=True, # Skip duplicate check inside Celery task
real_time_multiplier=real_time_multiplier,
pad_number_width=pad_number_width,
)
return {"status": "success", "message": "Album download completed"}
@@ -1844,6 +1855,9 @@ def download_playlist(self, **task_data):
real_time_multiplier = task_data.get(
"real_time_multiplier", config_params.get("realTimeMultiplier", 0)
)
pad_number_width = task_data.get(
"pad_number_width", config_params.get("padNumberWidth", 3)
)
# Execute the download - service is now determined from URL
download_playlist_func(
@@ -1868,6 +1882,7 @@ def download_playlist(self, **task_data):
spotify_metadata=spotify_metadata,
_is_celery_task_execution=True, # Skip duplicate check inside Celery task
real_time_multiplier=real_time_multiplier,
pad_number_width=pad_number_width,
)
return {"status": "success", "message": "Playlist download completed"}

View File

@@ -29,6 +29,7 @@ def download_playlist(
spotify_metadata=True,
_is_celery_task_execution=False, # Added to skip duplicate check from Celery task
real_time_multiplier=None,
pad_number_width=None,
):
if not _is_celery_task_execution:
existing_task = get_existing_task_id(
@@ -114,6 +115,7 @@ def download_playlist(
bitrate=bitrate,
artist_separator=artist_separator,
spotify_metadata=spotify_metadata,
pad_number_width=pad_number_width,
)
print(
f"DEBUG: playlist.py - Playlist download via Deezer (account: {fallback}) successful for Spotify URL."
@@ -177,6 +179,7 @@ def download_playlist(
bitrate=bitrate,
artist_separator=artist_separator,
real_time_multiplier=real_time_multiplier,
pad_number_width=pad_number_width,
)
print(
f"DEBUG: playlist.py - Spotify direct download (account: {main} for blob) successful."
@@ -239,6 +242,7 @@ def download_playlist(
bitrate=bitrate,
artist_separator=artist_separator,
real_time_multiplier=real_time_multiplier,
pad_number_width=pad_number_width,
)
print(
f"DEBUG: playlist.py - Direct Spotify download (account: {main} for blob) successful."
@@ -279,6 +283,7 @@ def download_playlist(
convert_to=convert_to,
bitrate=bitrate,
artist_separator=artist_separator,
pad_number_width=pad_number_width,
)
print(
f"DEBUG: playlist.py - Direct Deezer download (account: {main}) successful."

View File

@@ -30,6 +30,7 @@ def download_track(
spotify_metadata=True,
_is_celery_task_execution=False, # Added for consistency, not currently used for duplicate check
real_time_multiplier=None,
pad_number_width=None,
):
try:
# Detect URL source (Spotify or Deezer) from URL
@@ -108,6 +109,7 @@ def download_track(
bitrate=bitrate,
artist_separator=artist_separator,
spotify_metadata=spotify_metadata,
pad_number_width=pad_number_width,
)
print(
f"DEBUG: track.py - Track download via Deezer (account: {fallback}) successful for Spotify URL."
@@ -168,6 +170,7 @@ def download_track(
bitrate=bitrate,
artist_separator=artist_separator,
real_time_multiplier=real_time_multiplier,
pad_number_width=pad_number_width,
)
print(
f"DEBUG: track.py - Spotify direct download (account: {main} for blob) successful."
@@ -225,6 +228,7 @@ def download_track(
bitrate=bitrate,
artist_separator=artist_separator,
real_time_multiplier=real_time_multiplier,
pad_number_width=pad_number_width,
)
print(
f"DEBUG: track.py - Direct Spotify download (account: {main} for blob) successful."
@@ -264,6 +268,7 @@ def download_track(
convert_to=convert_to,
bitrate=bitrate,
artist_separator=artist_separator,
pad_number_width=pad_number_width,
)
print(
f"DEBUG: track.py - Direct Deezer download (account: {main}) successful."