diff --git a/core/download_orchestrator.py b/core/download_orchestrator.py index e718c5bd..e48f4278 100644 --- a/core/download_orchestrator.py +++ b/core/download_orchestrator.py @@ -133,7 +133,7 @@ class DownloadOrchestrator: if client and self.mode != 'hybrid': return await client.check_connection() elif self.mode == 'hybrid': - sources_to_check = self.hybrid_order if self.hybrid_order else ['soulseek', 'youtube', 'tidal', 'qobuz', 'hifi', 'deezer_dl'] + sources_to_check = self.hybrid_order if self.hybrid_order else ['soulseek', 'youtube', 'tidal', 'qobuz', 'hifi', 'deezer_dl', 'lidarr'] results = {} for source in sources_to_check: client = self._client(source) @@ -163,7 +163,7 @@ class DownloadOrchestrator: Tuple of (track_results, album_results) """ source_names = {'soulseek': 'Soulseek', 'youtube': 'YouTube', 'tidal': 'Tidal', - 'qobuz': 'Qobuz', 'hifi': 'HiFi', 'deezer_dl': 'Deezer'} + 'qobuz': 'Qobuz', 'hifi': 'HiFi', 'deezer_dl': 'Deezer', 'lidarr': 'Lidarr'} if self.mode != 'hybrid': client = self._client(self.mode) @@ -247,7 +247,7 @@ class DownloadOrchestrator: return None # 2. Filter and validate results - _streaming_sources = ('youtube', 'tidal', 'qobuz', 'hifi', 'deezer_dl') + _streaming_sources = ('youtube', 'tidal', 'qobuz', 'hifi', 'deezer_dl', 'lidarr') is_streaming = tracks[0].username in _streaming_sources if tracks else False if is_streaming and expected_track: @@ -399,7 +399,7 @@ class DownloadOrchestrator: """ # If username is provided, route directly to that source source_map = {'youtube': self.youtube, 'tidal': self.tidal, 'qobuz': self.qobuz, - 'hifi': self.hifi, 'deezer_dl': self.deezer_dl} + 'hifi': self.hifi, 'deezer_dl': self.deezer_dl, 'lidarr': self.lidarr} if username in source_map: client = source_map[username] return await client.cancel_download(download_id, username, remove) if client else False diff --git a/web_server.py b/web_server.py index fb818a1c..4b811a94 100644 --- a/web_server.py +++ b/web_server.py @@ -14291,7 +14291,7 @@ def redownload_search_sources(track_id): quality = ext if ext in ('FLAC', 'MP3', 'OPUS', 'OGG', 'M4A', 'WAV') else candidate.quality or '' svc = source_name if source_name != 'default' else 'hybrid' uname = candidate.username - if uname in ('youtube', 'tidal', 'qobuz', 'hifi', 'deezer_dl'): + if uname in ('youtube', 'tidal', 'qobuz', 'hifi', 'deezer_dl', 'lidarr'): svc = uname source_candidates.append({ 'username': uname, @@ -28558,7 +28558,7 @@ def _try_source_reuse(task_id, batch_id, track): if not source_tracks or not last_source: _sr.info(f"Skipped — no source_tracks or no last_source") return False - if last_source.get('username') in ('youtube', 'tidal', 'qobuz', 'hifi', 'deezer_dl'): + if last_source.get('username') in ('youtube', 'tidal', 'qobuz', 'hifi', 'deezer_dl', 'lidarr'): _sr.info(f"Skipped — {last_source.get('username')} source (no folder-based reuse)") return False