mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-08 17:08:35 +08:00
feat: 支持配置音乐封面代理地址 (#6258)
* feat: 支持配置音乐封面代理地址 * fix: 规范化音乐封面代理地址,去除尾随斜杠
This commit is contained in:
@@ -226,6 +226,10 @@ class ConfigModel(BaseModel):
|
||||
# TMDB API Key
|
||||
TMDB_API_KEY: str = "db55323b8d3e4154498498a75642b381"
|
||||
|
||||
# ==================== 音乐配置 ====================
|
||||
# 音乐封面代理地址(用于解决 coverartarchive.org 无法访问导致的封面不显示问题,留空则使用官方地址)
|
||||
MUSIC_COVER_PROXY: str = ""
|
||||
|
||||
# ==================== TVDB配置 ====================
|
||||
# TVDB API Key
|
||||
TVDB_V4_API_KEY: str = "ed2aa66b-7899-4677-92a7-67bc9ce3d93a"
|
||||
|
||||
@@ -243,7 +243,7 @@ class ListenBrainzModule(_ModuleBase):
|
||||
album_artist=artist_name or None,
|
||||
album_id=str(media_id),
|
||||
cover_url=cls._release_cover(release_group.get("caa_release_mbid"))
|
||||
or f"{cls._release_group_cover_url}/{media_id}/front-500",
|
||||
or cls._release_group_cover(media_id),
|
||||
names=[str(title)],
|
||||
detail_link=f"{cls._album_detail_url}/{media_id}",
|
||||
listen_count=cls._optional_int(release_group.get("listen_count")),
|
||||
@@ -277,7 +277,7 @@ class ListenBrainzModule(_ModuleBase):
|
||||
year=cls._year(release_date),
|
||||
release_date=release_date,
|
||||
cover_url=cls._release_cover(release.get("caa_release_mbid"))
|
||||
or f"{cls._release_group_cover_url}/{media_id}/front-500",
|
||||
or cls._release_group_cover(media_id),
|
||||
category=" / ".join(str(part) for part in category_parts if part),
|
||||
genres=[str(tag) for tag in release.get("release_tags") or [] if tag],
|
||||
names=[str(title)],
|
||||
@@ -289,7 +289,20 @@ class ListenBrainzModule(_ModuleBase):
|
||||
@classmethod
|
||||
def _release_cover(cls, release_mbid: Any) -> Optional[str]:
|
||||
"""根据发行版本 ID 构造 Cover Art Archive 封面地址。"""
|
||||
return f"{cls._release_cover_url}/{release_mbid}/front-500" if release_mbid else None
|
||||
if not release_mbid:
|
||||
return None
|
||||
# 支持配置音乐封面代理地址,解决 coverartarchive.org 无法访问的问题
|
||||
base = (settings.MUSIC_COVER_PROXY or "https://coverartarchive.org").rstrip("/")
|
||||
return f"{base}/release/{release_mbid}/front-500"
|
||||
|
||||
@classmethod
|
||||
def _release_group_cover(cls, release_group_id: Any) -> Optional[str]:
|
||||
"""根据 Release Group ID 构造 Cover Art Archive 封面地址。"""
|
||||
if not release_group_id:
|
||||
return None
|
||||
# 支持配置音乐封面代理地址,解决 coverartarchive.org 无法访问的问题
|
||||
base = (settings.MUSIC_COVER_PROXY or "https://coverartarchive.org").rstrip("/")
|
||||
return f"{base}/release-group/{release_group_id}/front-500"
|
||||
|
||||
@staticmethod
|
||||
def _primary_artist_ids(artist_mbids: Any) -> list[str]:
|
||||
|
||||
@@ -675,7 +675,9 @@ class MusicBrainzModule(_ModuleBase):
|
||||
"""根据 Release Group ID 构造 Cover Art Archive 封面地址。"""
|
||||
if not release_group_id:
|
||||
return None
|
||||
return f"{cls._cover_url}/{release_group_id}/front-500"
|
||||
# 支持配置音乐封面代理地址,解决 coverartarchive.org 无法访问的问题
|
||||
base = (settings.MUSIC_COVER_PROXY or "https://coverartarchive.org").rstrip("/")
|
||||
return f"{base}/release-group/{release_group_id}/front-500"
|
||||
|
||||
@classmethod
|
||||
def _wait_for_rate_limit(cls) -> None:
|
||||
|
||||
Reference in New Issue
Block a user