diff --git a/app/modules/emby/__init__.py b/app/modules/emby/__init__.py index da0e9d85..8d0a0e39 100644 --- a/app/modules/emby/__init__.py +++ b/app/modules/emby/__init__.py @@ -124,6 +124,7 @@ class EmbyModule(_ModuleBase, _MediaServerBase[Emby]): logger.info(f"媒体库 {name} 中找到了 {movie}") return schemas.ExistMediaInfo( type=MediaType.MOVIE, + server_type="emby", server=name, itemid=movie.item_id ) @@ -137,6 +138,7 @@ class EmbyModule(_ModuleBase, _MediaServerBase[Emby]): logger.info(f"媒体库 {name} 中找到了 {movies}") return schemas.ExistMediaInfo( type=MediaType.MOVIE, + server_type="emby", server=name, itemid=movies[0].item_id ) @@ -153,6 +155,7 @@ class EmbyModule(_ModuleBase, _MediaServerBase[Emby]): return schemas.ExistMediaInfo( type=MediaType.TV, seasons=tvs, + server_type="emby", server=name, itemid=itemid ) diff --git a/app/modules/jellyfin/__init__.py b/app/modules/jellyfin/__init__.py index 0ceb3367..f8cb4199 100644 --- a/app/modules/jellyfin/__init__.py +++ b/app/modules/jellyfin/__init__.py @@ -124,6 +124,7 @@ class JellyfinModule(_ModuleBase, _MediaServerBase[Jellyfin]): logger.info(f"媒体库 {name} 中找到了 {movie}") return schemas.ExistMediaInfo( type=MediaType.MOVIE, + server_type="jellyfin", server=name, itemid=movie.item_id ) @@ -135,6 +136,7 @@ class JellyfinModule(_ModuleBase, _MediaServerBase[Jellyfin]): logger.info(f"媒体库 {name} 中找到了 {movies}") return schemas.ExistMediaInfo( type=MediaType.MOVIE, + server_type="jellyfin", server=name, itemid=movies[0].item_id ) @@ -151,6 +153,7 @@ class JellyfinModule(_ModuleBase, _MediaServerBase[Jellyfin]): return schemas.ExistMediaInfo( type=MediaType.TV, seasons=tvs, + server_type="jellyfin", server=name, itemid=itemid ) diff --git a/app/modules/plex/__init__.py b/app/modules/plex/__init__.py index 61d9d475..8ec4947e 100644 --- a/app/modules/plex/__init__.py +++ b/app/modules/plex/__init__.py @@ -105,6 +105,7 @@ class PlexModule(_ModuleBase, _MediaServerBase[Plex]): logger.info(f"媒体库 {name} 中找到了 {movie}") return schemas.ExistMediaInfo( type=MediaType.MOVIE, + server_type="plex", server=name, itemid=movie.item_id ) @@ -119,6 +120,7 @@ class PlexModule(_ModuleBase, _MediaServerBase[Plex]): logger.info(f"媒体库 {name} 中找到了 {movies}") return schemas.ExistMediaInfo( type=MediaType.MOVIE, + server_type="plex", server=name, itemid=movies[0].item_id ) @@ -136,6 +138,7 @@ class PlexModule(_ModuleBase, _MediaServerBase[Plex]): return schemas.ExistMediaInfo( type=MediaType.TV, seasons=tvs, + server_type="plex", server=name, itemid=item_id ) diff --git a/app/schemas/mediaserver.py b/app/schemas/mediaserver.py index 80488dda..272e55c4 100644 --- a/app/schemas/mediaserver.py +++ b/app/schemas/mediaserver.py @@ -14,7 +14,9 @@ class ExistMediaInfo(BaseModel): type: Optional[MediaType] # 季 seasons: Optional[Dict[int, list]] = {} - # 媒体服务器 + # 媒体服务器类型:plex、jellyfin、emby + server_type: Optional[str] = None + # 媒体服务器名称 server: Optional[str] = None # 媒体ID itemid: Optional[Union[str, int]] = None