mirror of https://github.com/Nezreka/SoulSync.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
132 lines
3.9 KiB
132 lines
3.9 KiB
"""Legacy metadata shim.
|
|
|
|
This module keeps the historical ``core.metadata_service`` import path alive
|
|
while re-exporting the refactored metadata helpers from their package modules.
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
import requests
|
|
|
|
from core.metadata.album_tracks import (
|
|
get_album_for_source,
|
|
get_album_tracks_for_source,
|
|
get_artist_album_tracks,
|
|
get_artist_albums_for_source,
|
|
resolve_album_reference,
|
|
)
|
|
from core.metadata.artist_image import get_artist_image_url
|
|
from core.metadata.cache import MetadataCache, get_metadata_cache
|
|
from core.metadata.completion import (
|
|
check_album_completion,
|
|
check_artist_discography_completion,
|
|
check_single_completion,
|
|
iter_artist_discography_completion_events,
|
|
)
|
|
from core.metadata.discography import (
|
|
_build_artist_detail_release_card,
|
|
_build_discography_release_dict,
|
|
_dedup_variant_releases,
|
|
_extract_release_artist_name,
|
|
_normalize_artist_name,
|
|
_pick_best_artist_match,
|
|
_search_albums_for_source,
|
|
_search_artists_for_source,
|
|
_sort_discography_releases,
|
|
get_artist_detail_discography,
|
|
get_artist_discography,
|
|
)
|
|
from core.metadata.lookup import MetadataLookupOptions
|
|
from core.metadata.registry import (
|
|
METADATA_SOURCE_PRIORITY,
|
|
clear_cached_metadata_client,
|
|
clear_cached_metadata_clients,
|
|
clear_cached_profile_spotify_client,
|
|
get_amazon_client,
|
|
get_client_for_source,
|
|
get_deezer_client,
|
|
get_musicbrainz_client,
|
|
get_discogs_client,
|
|
get_hydrabase_client,
|
|
get_itunes_client,
|
|
get_primary_client,
|
|
get_primary_source,
|
|
get_spotify_client_for_profile,
|
|
get_registered_runtime_client,
|
|
get_source_priority,
|
|
get_spotify_client,
|
|
is_hydrabase_enabled,
|
|
register_profile_spotify_credentials_provider,
|
|
register_runtime_clients,
|
|
)
|
|
from core.metadata.service import MetadataProvider, MetadataService, get_metadata_service
|
|
from core.metadata.similar_artists import (
|
|
get_musicmap_similar_artists,
|
|
iter_musicmap_similar_artist_events,
|
|
)
|
|
|
|
try:
|
|
from core.spotify_client import SpotifyClient
|
|
except Exception: # pragma: no cover - optional dependency fallback
|
|
SpotifyClient = None # type: ignore[assignment]
|
|
|
|
try:
|
|
from core.itunes_client import iTunesClient
|
|
except Exception: # pragma: no cover - optional dependency fallback
|
|
iTunesClient = None # type: ignore[assignment]
|
|
|
|
__all__ = [
|
|
"METADATA_SOURCE_PRIORITY",
|
|
"get_amazon_client",
|
|
"get_musicbrainz_client",
|
|
"MetadataCache",
|
|
"MetadataLookupOptions",
|
|
"MetadataProvider",
|
|
"MetadataService",
|
|
"SpotifyClient",
|
|
"iTunesClient",
|
|
"_build_artist_detail_release_card",
|
|
"_build_discography_release_dict",
|
|
"_dedup_variant_releases",
|
|
"_extract_release_artist_name",
|
|
"_normalize_artist_name",
|
|
"_pick_best_artist_match",
|
|
"_search_albums_for_source",
|
|
"_search_artists_for_source",
|
|
"_sort_discography_releases",
|
|
"check_album_completion",
|
|
"check_artist_discography_completion",
|
|
"check_single_completion",
|
|
"clear_cached_metadata_client",
|
|
"clear_cached_metadata_clients",
|
|
"clear_cached_profile_spotify_client",
|
|
"get_album_for_source",
|
|
"get_album_tracks_for_source",
|
|
"get_artist_album_tracks",
|
|
"get_artist_albums_for_source",
|
|
"get_artist_detail_discography",
|
|
"get_artist_discography",
|
|
"get_artist_image_url",
|
|
"get_client_for_source",
|
|
"get_deezer_client",
|
|
"get_discogs_client",
|
|
"get_hydrabase_client",
|
|
"get_itunes_client",
|
|
"get_metadata_cache",
|
|
"get_metadata_service",
|
|
"get_musicmap_similar_artists",
|
|
"get_primary_client",
|
|
"get_primary_source",
|
|
"get_spotify_client_for_profile",
|
|
"get_registered_runtime_client",
|
|
"get_spotify_client",
|
|
"get_source_priority",
|
|
"iter_artist_discography_completion_events",
|
|
"iter_musicmap_similar_artist_events",
|
|
"is_hydrabase_enabled",
|
|
"register_profile_spotify_credentials_provider",
|
|
"register_runtime_clients",
|
|
"requests",
|
|
"resolve_album_reference",
|
|
]
|