From de17bc56454f5473a355c45879ddf355e8fc06d0 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Sat, 19 Oct 2024 19:04:16 +0800 Subject: [PATCH] =?UTF-8?q?refactor=EF=BC=9A=E5=AA=92=E4=BD=93=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1=E5=99=A8=E8=BF=94=E5=9B=9E=E7=B1=BB=E5=9E=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/modules/emby/__init__.py | 3 +++ app/modules/jellyfin/__init__.py | 3 +++ app/modules/plex/__init__.py | 3 +++ app/schemas/mediaserver.py | 4 +++- 4 files changed, 12 insertions(+), 1 deletion(-) 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