feat: Added service key to summary callback object, it specifies the service used to download the item
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -18,3 +18,4 @@ callback.log
|
||||
deezspot_test.log
|
||||
spotify_downloads
|
||||
deezer_spo_downloads
|
||||
__pycache__
|
||||
|
||||
@@ -71,7 +71,7 @@ from deezspot.models.callback.callbacks import (
|
||||
from deezspot.models.callback.track import trackObject as trackCbObject, albumTrackObject, artistTrackObject, playlistTrackObject
|
||||
from deezspot.models.callback.album import albumObject as albumCbObject
|
||||
from deezspot.models.callback.playlist import playlistObject as playlistCbObject
|
||||
from deezspot.models.callback.common import IDs
|
||||
from deezspot.models.callback.common import IDs, Service
|
||||
from deezspot.models.callback.user import userObject
|
||||
|
||||
# Use unified metadata converter
|
||||
@@ -548,6 +548,7 @@ class EASY_DW:
|
||||
summary = summaryObject(
|
||||
successful_tracks=[self.__track_obj],
|
||||
total_successful=1,
|
||||
service=Service.DEEZER,
|
||||
)
|
||||
summary.final_path = final_path_val
|
||||
summary.download_quality = download_quality_val
|
||||
@@ -1325,7 +1326,8 @@ class DW_ALBUM:
|
||||
failed_tracks=failed_tracks_cb,
|
||||
total_successful=len(successful_tracks_cb),
|
||||
total_skipped=len(skipped_tracks_cb),
|
||||
total_failed=len(failed_tracks_cb)
|
||||
total_failed=len(failed_tracks_cb),
|
||||
service=Service.DEEZER
|
||||
)
|
||||
|
||||
# Report album completion status
|
||||
@@ -1447,7 +1449,8 @@ class DW_PLAYLIST:
|
||||
failed_tracks=failed_tracks_cb,
|
||||
total_successful=len(successful_tracks_cb),
|
||||
total_skipped=len(skipped_tracks_cb),
|
||||
total_failed=len(failed_tracks_cb)
|
||||
total_failed=len(failed_tracks_cb),
|
||||
service=Service.DEEZER
|
||||
)
|
||||
|
||||
# Attach m3u path to summary
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
from dataclasses import dataclass, field
|
||||
from typing import List, Optional, Dict, Any, Union
|
||||
|
||||
from .common import IDs
|
||||
from .common import IDs, Service
|
||||
from .track import trackObject, albumTrackObject, playlistTrackObject
|
||||
from .album import albumObject
|
||||
from .playlist import playlistObject
|
||||
@@ -70,6 +70,7 @@ class summaryObject:
|
||||
total_successful: int = 0
|
||||
total_skipped: int = 0
|
||||
total_failed: int = 0
|
||||
service: Optional[Service] = None
|
||||
# Extended info
|
||||
m3u_path: Optional[str] = None
|
||||
final_path: Optional[str] = None
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
from dataclasses import dataclass
|
||||
from typing import Optional
|
||||
from enum import Enum
|
||||
|
||||
|
||||
@dataclass
|
||||
@@ -19,3 +20,9 @@ class ReleaseDate:
|
||||
year: int
|
||||
month: Optional[int] = None # null if unknown
|
||||
day: Optional[int] = None # null if unknown
|
||||
|
||||
|
||||
class Service(str, Enum):
|
||||
"""Supported source services for downloads."""
|
||||
SPOTIFY = "spotify"
|
||||
DEEZER = "deezer"
|
||||
@@ -60,6 +60,7 @@ from deezspot.models.callback import (
|
||||
IDs
|
||||
)
|
||||
from deezspot.spotloader.__spo_api__ import tracking, json_to_track_playlist_object
|
||||
from deezspot.models.callback.common import Service
|
||||
|
||||
# --- Global retry counter variables ---
|
||||
GLOBAL_RETRY_COUNT = 0
|
||||
@@ -701,7 +702,8 @@ class EASY_DW:
|
||||
failed_tracks=[],
|
||||
total_successful=len(successful_track_list),
|
||||
total_skipped=len(skipped_track_list),
|
||||
total_failed=0
|
||||
total_failed=0,
|
||||
service=Service.SPOTIFY
|
||||
)
|
||||
# Enrich summary with final path and quality
|
||||
try:
|
||||
@@ -1118,7 +1120,8 @@ class DW_ALBUM:
|
||||
failed_tracks=failed_tracks,
|
||||
total_successful=len(successful_tracks),
|
||||
total_skipped=len(skipped_tracks),
|
||||
total_failed=len(failed_tracks)
|
||||
total_failed=len(failed_tracks),
|
||||
service=Service.SPOTIFY
|
||||
)
|
||||
|
||||
report_album_done(album_obj, summary_obj)
|
||||
@@ -1250,7 +1253,8 @@ class DW_PLAYLIST:
|
||||
failed_tracks=failed_tracks_cb,
|
||||
total_successful=len(successful_tracks_cb),
|
||||
total_skipped=len(skipped_tracks_cb),
|
||||
total_failed=len(failed_tracks_cb)
|
||||
total_failed=len(failed_tracks_cb),
|
||||
service=Service.SPOTIFY
|
||||
)
|
||||
|
||||
# Include m3u path in summary and callback
|
||||
|
||||
Reference in New Issue
Block a user