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