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
|
deezspot_test.log
|
||||||
spotify_downloads
|
spotify_downloads
|
||||||
deezer_spo_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.track import trackObject as trackCbObject, albumTrackObject, artistTrackObject, playlistTrackObject
|
||||||
from deezspot.models.callback.album import albumObject as albumCbObject
|
from deezspot.models.callback.album import albumObject as albumCbObject
|
||||||
from deezspot.models.callback.playlist import playlistObject as playlistCbObject
|
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
|
from deezspot.models.callback.user import userObject
|
||||||
|
|
||||||
# Use unified metadata converter
|
# Use unified metadata converter
|
||||||
@@ -548,6 +548,7 @@ class EASY_DW:
|
|||||||
summary = summaryObject(
|
summary = summaryObject(
|
||||||
successful_tracks=[self.__track_obj],
|
successful_tracks=[self.__track_obj],
|
||||||
total_successful=1,
|
total_successful=1,
|
||||||
|
service=Service.DEEZER,
|
||||||
)
|
)
|
||||||
summary.final_path = final_path_val
|
summary.final_path = final_path_val
|
||||||
summary.download_quality = download_quality_val
|
summary.download_quality = download_quality_val
|
||||||
@@ -1325,7 +1326,8 @@ class DW_ALBUM:
|
|||||||
failed_tracks=failed_tracks_cb,
|
failed_tracks=failed_tracks_cb,
|
||||||
total_successful=len(successful_tracks_cb),
|
total_successful=len(successful_tracks_cb),
|
||||||
total_skipped=len(skipped_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
|
# Report album completion status
|
||||||
@@ -1447,7 +1449,8 @@ class DW_PLAYLIST:
|
|||||||
failed_tracks=failed_tracks_cb,
|
failed_tracks=failed_tracks_cb,
|
||||||
total_successful=len(successful_tracks_cb),
|
total_successful=len(successful_tracks_cb),
|
||||||
total_skipped=len(skipped_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
|
# Attach m3u path to summary
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
from dataclasses import dataclass, field
|
from dataclasses import dataclass, field
|
||||||
from typing import List, Optional, Dict, Any, Union
|
from typing import List, Optional, Dict, Any, Union
|
||||||
|
|
||||||
from .common import IDs
|
from .common import IDs, Service
|
||||||
from .track import trackObject, albumTrackObject, playlistTrackObject
|
from .track import trackObject, albumTrackObject, playlistTrackObject
|
||||||
from .album import albumObject
|
from .album import albumObject
|
||||||
from .playlist import playlistObject
|
from .playlist import playlistObject
|
||||||
@@ -70,6 +70,7 @@ class summaryObject:
|
|||||||
total_successful: int = 0
|
total_successful: int = 0
|
||||||
total_skipped: int = 0
|
total_skipped: int = 0
|
||||||
total_failed: int = 0
|
total_failed: int = 0
|
||||||
|
service: Optional[Service] = None
|
||||||
# Extended info
|
# Extended info
|
||||||
m3u_path: Optional[str] = None
|
m3u_path: Optional[str] = None
|
||||||
final_path: Optional[str] = None
|
final_path: Optional[str] = None
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
from dataclasses import dataclass
|
from dataclasses import dataclass
|
||||||
from typing import Optional
|
from typing import Optional
|
||||||
|
from enum import Enum
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass
|
||||||
@@ -18,4 +19,10 @@ class ReleaseDate:
|
|||||||
"""Mandatory release date structure."""
|
"""Mandatory release date structure."""
|
||||||
year: int
|
year: int
|
||||||
month: Optional[int] = None # null if unknown
|
month: Optional[int] = None # null if unknown
|
||||||
day: 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
|
IDs
|
||||||
)
|
)
|
||||||
from deezspot.spotloader.__spo_api__ import tracking, json_to_track_playlist_object
|
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 counter variables ---
|
||||||
GLOBAL_RETRY_COUNT = 0
|
GLOBAL_RETRY_COUNT = 0
|
||||||
@@ -701,7 +702,8 @@ class EASY_DW:
|
|||||||
failed_tracks=[],
|
failed_tracks=[],
|
||||||
total_successful=len(successful_track_list),
|
total_successful=len(successful_track_list),
|
||||||
total_skipped=len(skipped_track_list),
|
total_skipped=len(skipped_track_list),
|
||||||
total_failed=0
|
total_failed=0,
|
||||||
|
service=Service.SPOTIFY
|
||||||
)
|
)
|
||||||
# Enrich summary with final path and quality
|
# Enrich summary with final path and quality
|
||||||
try:
|
try:
|
||||||
@@ -1118,7 +1120,8 @@ class DW_ALBUM:
|
|||||||
failed_tracks=failed_tracks,
|
failed_tracks=failed_tracks,
|
||||||
total_successful=len(successful_tracks),
|
total_successful=len(successful_tracks),
|
||||||
total_skipped=len(skipped_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)
|
report_album_done(album_obj, summary_obj)
|
||||||
@@ -1250,7 +1253,8 @@ class DW_PLAYLIST:
|
|||||||
failed_tracks=failed_tracks_cb,
|
failed_tracks=failed_tracks_cb,
|
||||||
total_successful=len(successful_tracks_cb),
|
total_successful=len(successful_tracks_cb),
|
||||||
total_skipped=len(skipped_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
|
# Include m3u path in summary and callback
|
||||||
|
|||||||
Reference in New Issue
Block a user