mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-10-30 20:05:42 +08:00
29 lines
760 B
Python
29 lines
760 B
Python
"""
|
|
中心服务订阅载荷的共享投影。
|
|
"""
|
|
|
|
from __future__ import annotations
|
|
|
|
from collections.abc import Collection
|
|
from typing import Any
|
|
|
|
from app.schemas.media import resolve_media_identity
|
|
|
|
|
|
def build_subscribe_payload(
|
|
item: object,
|
|
fields: Collection[str],
|
|
) -> dict[str, Any] | None:
|
|
"""
|
|
过滤本地订阅字段并规范化中心服务使用的媒体身份。
|
|
"""
|
|
if not isinstance(item, dict):
|
|
return None
|
|
media_source, media_id = resolve_media_identity(media=item)
|
|
if not media_source or not media_id:
|
|
return None
|
|
payload = {key: value for key, value in item.items() if key in fields}
|
|
payload["media_source"] = str(media_source)
|
|
payload["media_id"] = media_id
|
|
return payload
|