SPOTIFY: str = "spotify" APPLE: str = "apple" TRACKS_SEARCH_SUPPORTED_DSP = (SPOTIFY, APPLE) SEARCH_ID, SEARCH_ISRC = "known_id", "isrc" TRACK_SEARCH_SUPPORTED_ID_TYPES = (SEARCH_ID, SEARCH_ISRC) # ordered by priority GLOBAL_MARKET = "global" GLOBAL_MARKET_CODE = "_gl" GLOBAL_MARKET_MONGO_CODE = "g_" DEFAULT_SEARCH_MARKETS = {APPLE: "us", SPOTIFY: ""} SPOTIFY_LINKED_TRACK_FIELDS = ["id", "external_urls", "uri", "href"] DEFAULT_IMAGE_SIZE: int = 300 CONCURRENCY_LEVEL = 50 class Service: CACHE = "cache" SPOTIFY = "spotify" APPLE = "apple" ALL = "all" ALL_VALUES = (CACHE, SPOTIFY, APPLE, ALL) class CollectionName: SPOTIFY_CACHE = "spotify_cache" SPOTIFY_TRACK = "spotify_track" SPOTIFY_TRACK_ISRC = "spotify_track_isrc" SPOTIFY_PLAYLIST = "spotify_playlist" SPOTIFY_PLAYLIST_TRACKS = "spotify_playlist_tracks" SPOTIFY_ALBUM = "spotify_album" SPOTIFY_ARTIST = "spotify_artist" SPOTIFY_USER = "spotify_user" SPOTIFY_SEARCH = "spotify_search" SPOTIFY_ALBUM_TRACKS = "spotify_album_tracks" SPOTIFY_MARKETS = "spotify_markets" APPLE_CACHE = "apple_cache" APPLE_SONG = "apple_song" APPLE_SONG_ISRC = "apple_song_isrc" APPLE_SONG_EQUIVALENT_ID = "apple_song_eq_id" # contains id mapping only, without meta APPLE_PLAYLIST = "apple_playlist" APPLE_ALBUM = "apple_album" APPLE_SEARCH = "apple_search" APPLE_STATION = "apple_station" APPLE_MARKETS = "apple_storefronts" class StorageField: RECORD_ID = "_id" OBJECT_ID = "id" CREATED_AT = "created_at" DATA = "data" IMAGES_SAVED = "img" COMPRESSION = "cmp" class DataSource: CACHE = "cache" API = "api" COMBINED = "combined" class CompressionLib: ZLIB = "zlib" ZSTD = "zstd"