/
/
/
1"""Constants for Phish.in provider."""
2
3from typing import Final
4
5# API Configuration
6API_BASE_URL: Final[str] = "https://phish.in/api/v2"
7REQUEST_TIMEOUT: Final[int] = 30
8DEFAULT_LIMIT: Final[int] = 100
9MAX_SEARCH_RESULTS: Final[int] = 50
10
11# Provider metadata
12PROVIDER_DOMAIN: Final[str] = "phishin"
13PROVIDER_NAME: Final[str] = "Phish.in"
14
15# Phish artist information
16PHISH_ARTIST_NAME: Final[str] = "Phish"
17PHISH_ARTIST_ID: Final[str] = "phish"
18PHISH_MUSICBRAINZ_ID: Final[str] = "e01646f2-2a04-450d-8bf2-0d993082e058"
19PHISH_DISCOGS_ID: Final[str] = "252354"
20PHISH_TADB_ID: Final[str] = "112677"
21
22# Fallback image for albums without artwork
23FALLBACK_ALBUM_IMAGE: Final[str] = (
24 "https://raw.githubusercontent.com/music-assistant/music-assistant.io/refs/heads/main/docs/assets/icons/phish-logo.png"
25)
26
27# API endpoints
28ENDPOINTS = {
29 "shows": "/shows",
30 "show_by_date": "/shows/{date}",
31 "shows_day_of_year": "/shows/day_of_year/{date}",
32 "random_show": "/shows/random",
33 "songs": "/songs",
34 "song_by_slug": "/songs/{slug}",
35 "tracks": "/tracks",
36 "track_by_id": "/tracks/{id}",
37 "tours": "/tours",
38 "tour_by_slug": "/tours/{slug}",
39 "venues": "/venues",
40 "venue_by_slug": "/venues/{slug}",
41 "years": "/years",
42 "search": "/search/{term}",
43 "tags": "/tags",
44 "playlists": "/playlists",
45 "playlist_by_slug": "/playlists/{slug}",
46}
47