mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 23:47:41 +08:00
feat(music): 完善歌词与专辑目录整理
This commit is contained in:
@@ -295,6 +295,16 @@ class ConfigModel(BaseModel):
|
||||
MUSIC_METADATA_TO_SIMPLIFIED: bool = True
|
||||
# TheAudioDB API Key,默认使用官方公开的免费 V1 Key,可通过环境变量覆盖
|
||||
THEAUDIODB_API_KEY: str = "123"
|
||||
# LRCLIB 服务地址,可指向兼容官方 API 的自建实例
|
||||
LRCLIB_BASE_URL: str = "https://lrclib.net"
|
||||
# Musixmatch 官方 API Key;留空时不加载该歌词来源
|
||||
MUSIXMATCH_API_KEY: str = ""
|
||||
# Musixmatch 官方或授权代理 API 根地址
|
||||
MUSIXMATCH_BASE_URL: str = "https://api.musixmatch.com/ws/1.1"
|
||||
# 单次音乐刮削批次用于在线歌词查询的总预算(秒)
|
||||
LYRICS_BATCH_TIMEOUT: int = 120
|
||||
# 供应商要求的重试等待超过该值时进入冷却,不阻塞整个批次
|
||||
LYRICS_PROVIDER_RETRY_MAX_WAIT: int = 5
|
||||
|
||||
# ==================== TVDB配置 ====================
|
||||
# TVDB API Key
|
||||
|
||||
@@ -195,6 +195,7 @@ _METHOD_CONTRACTS = {
|
||||
"music_discover": ModuleMethodContract(family="music", input_contract="MusicDiscoverRequest", result_contract="list[MusicInfo]", result_shape=ModuleResultShape.LIST, aggregation=ModuleResultAggregation.ORDERED_LIST_MERGE, required_parameters=("media_source", "page", "count", "entity", "mode", "tags", "sort")),
|
||||
"music_fresh_releases": ModuleMethodContract(family="music", input_contract="MusicFreshReleasesRequest", result_contract="list[MusicInfo]", result_shape=ModuleResultShape.LIST, aggregation=ModuleResultAggregation.ORDERED_LIST_MERGE, required_parameters=("days", "sort", "past", "future", "offset", "count")),
|
||||
"music_lyrics": ModuleMethodContract(family="music", input_contract="MusicLyricsRequest", result_contract="MusicLyrics | None", aggregation=ModuleResultAggregation.FIRST_NON_EMPTY, required_parameters=("music",)),
|
||||
"music_lyrics_candidates": ModuleMethodContract(family="music", input_contract="MusicLyricsRequest", result_contract="list[MusicLyrics]", result_shape=ModuleResultShape.LIST, aggregation=ModuleResultAggregation.ORDERED_LIST_MERGE, required_parameters=("music",), plugin_short_circuit=False),
|
||||
"search_music": ModuleMethodContract(family="music", input_contract="MusicSearchRequest", result_contract="list[MusicInfo]", result_shape=ModuleResultShape.LIST, aggregation=ModuleResultAggregation.ORDERED_LIST_MERGE, required_parameters=("meta", "limit", "media_source")),
|
||||
"channel_manage": ModuleMethodContract(family="messaging", input_contract="ChannelManageRequest", result_contract="dict[str, Any] | None", result_shape=ModuleResultShape.MAPPING, aggregation=ModuleResultAggregation.FIRST_NON_EMPTY, required_parameters=("channel", "action")),
|
||||
"delete_message": ModuleMethodContract(family="messaging", input_contract="MessageDeleteRequest", result_contract="bool | None", result_shape=ModuleResultShape.BOOLEAN, aggregation=ModuleResultAggregation.FIRST_NON_EMPTY, required_parameters=("channel", "source", "message_id", "chat_id")),
|
||||
|
||||
@@ -68,6 +68,7 @@ BASELINE_ASSESSED_MODULES = frozenset(
|
||||
"listenbrainz",
|
||||
"lrclib",
|
||||
"musicbrainz",
|
||||
"musixmatch",
|
||||
"navidrome",
|
||||
"plex",
|
||||
"postgresql",
|
||||
|
||||
Reference in New Issue
Block a user