fix #1320
This commit is contained in:
parent
2c8a41ebad
commit
2af7abee3c
@ -125,10 +125,7 @@ def latest(count: int = 18,
|
||||
"""
|
||||
获取媒体服务器最新入库条目
|
||||
"""
|
||||
if not settings.MEDIASERVER:
|
||||
return []
|
||||
mediaserver = settings.MEDIASERVER.split(",")[0]
|
||||
return MediaServerChain().latest(server=mediaserver, count=count)
|
||||
return MediaServerChain().latest(count=count) or []
|
||||
|
||||
|
||||
@router.get("/playing", summary="正在播放条目", response_model=List[schemas.MediaServerPlayItem])
|
||||
@ -137,10 +134,7 @@ def playing(count: int = 12,
|
||||
"""
|
||||
获取媒体服务器正在播放条目
|
||||
"""
|
||||
if not settings.MEDIASERVER:
|
||||
return []
|
||||
mediaserver = settings.MEDIASERVER.split(",")[0]
|
||||
return MediaServerChain().playing(server=mediaserver, count=count)
|
||||
return MediaServerChain().playing(count=count) or []
|
||||
|
||||
|
||||
@router.get("/library", summary="媒体库列表", response_model=List[schemas.MediaServerLibrary])
|
||||
@ -148,7 +142,4 @@ def library(_: schemas.TokenPayload = Depends(verify_token)) -> Any:
|
||||
"""
|
||||
获取媒体服务器媒体库列表
|
||||
"""
|
||||
if not settings.MEDIASERVER:
|
||||
return []
|
||||
mediaserver = settings.MEDIASERVER.split(",")[0]
|
||||
return MediaServerChain().librarys(server=mediaserver)
|
||||
return MediaServerChain().librarys() or []
|
||||
|
@ -20,7 +20,7 @@ class MediaServerChain(ChainBase):
|
||||
super().__init__()
|
||||
self.dboper = MediaServerOper()
|
||||
|
||||
def librarys(self, server: str) -> List[schemas.MediaServerLibrary]:
|
||||
def librarys(self, server: str = None) -> List[schemas.MediaServerLibrary]:
|
||||
"""
|
||||
获取媒体服务器所有媒体库
|
||||
"""
|
||||
@ -44,17 +44,17 @@ class MediaServerChain(ChainBase):
|
||||
"""
|
||||
return self.run_module("mediaserver_tv_episodes", server=server, item_id=item_id)
|
||||
|
||||
def playing(self, server: str, count: int = 20) -> List[schemas.MediaServerPlayItem]:
|
||||
def playing(self, count: int = 20, server: str = None) -> List[schemas.MediaServerPlayItem]:
|
||||
"""
|
||||
获取媒体服务器正在播放信息
|
||||
"""
|
||||
return self.run_module("mediaserver_playing", server=server, count=count)
|
||||
return self.run_module("mediaserver_playing", count=count, server=server)
|
||||
|
||||
def latest(self, server: str, count: int = 20) -> List[schemas.MediaServerPlayItem]:
|
||||
def latest(self, count: int = 20, server: str = None) -> List[schemas.MediaServerPlayItem]:
|
||||
"""
|
||||
获取媒体服务器最新入库条目
|
||||
"""
|
||||
return self.run_module("mediaserver_latest", server=server, count=count)
|
||||
return self.run_module("mediaserver_latest", count=count, server=server)
|
||||
|
||||
def get_play_url(self, server: str, item_id: Union[str, int]) -> Optional[str]:
|
||||
"""
|
||||
|
@ -103,11 +103,11 @@ class EmbyModule(_ModuleBase):
|
||||
media_statistic.user_count = self.emby.get_user_count()
|
||||
return [media_statistic]
|
||||
|
||||
def mediaserver_librarys(self, server: str) -> Optional[List[schemas.MediaServerLibrary]]:
|
||||
def mediaserver_librarys(self, server: str = None) -> Optional[List[schemas.MediaServerLibrary]]:
|
||||
"""
|
||||
媒体库列表
|
||||
"""
|
||||
if server != "emby":
|
||||
if server and server != "emby":
|
||||
return None
|
||||
return self.emby.get_librarys()
|
||||
|
||||
@ -142,11 +142,11 @@ class EmbyModule(_ModuleBase):
|
||||
episodes=episodes
|
||||
) for season, episodes in seasoninfo.items()]
|
||||
|
||||
def mediaserver_playing(self, server: str, count: int = 20) -> List[schemas.MediaServerPlayItem]:
|
||||
def mediaserver_playing(self, count: int = 20, server: str = None) -> List[schemas.MediaServerPlayItem]:
|
||||
"""
|
||||
获取媒体服务器正在播放信息
|
||||
"""
|
||||
if server != "emby":
|
||||
if server and server != "emby":
|
||||
return []
|
||||
return self.emby.get_resume(count)
|
||||
|
||||
@ -158,10 +158,10 @@ class EmbyModule(_ModuleBase):
|
||||
return None
|
||||
return self.emby.get_play_url(item_id)
|
||||
|
||||
def mediaserver_latest(self, server: str, count: int = 20) -> List[schemas.MediaServerPlayItem]:
|
||||
def mediaserver_latest(self, count: int = 20, server: str = None) -> List[schemas.MediaServerPlayItem]:
|
||||
"""
|
||||
获取媒体服务器最新入库条目
|
||||
"""
|
||||
if server != "emby":
|
||||
if server and server != "emby":
|
||||
return []
|
||||
return self.emby.get_latest(count)
|
||||
|
@ -91,7 +91,10 @@ class Emby(metaclass=Singleton):
|
||||
if not self._host or not self._apikey:
|
||||
return []
|
||||
libraries = []
|
||||
black_list = (settings.MEDIASERVER_SYNC_BLACKLIST or '').split(",")
|
||||
for library in self.__get_emby_librarys() or []:
|
||||
if library.get("Name") in black_list:
|
||||
continue
|
||||
match library.get("CollectionType"):
|
||||
case "movies":
|
||||
library_type = MediaType.MOVIE.value
|
||||
|
@ -101,11 +101,11 @@ class JellyfinModule(_ModuleBase):
|
||||
media_statistic.user_count = self.jellyfin.get_user_count()
|
||||
return [media_statistic]
|
||||
|
||||
def mediaserver_librarys(self, server: str) -> Optional[List[schemas.MediaServerLibrary]]:
|
||||
def mediaserver_librarys(self, server: str = None) -> Optional[List[schemas.MediaServerLibrary]]:
|
||||
"""
|
||||
媒体库列表
|
||||
"""
|
||||
if server != "jellyfin":
|
||||
if server and server != "jellyfin":
|
||||
return None
|
||||
return self.jellyfin.get_librarys()
|
||||
|
||||
@ -140,11 +140,11 @@ class JellyfinModule(_ModuleBase):
|
||||
episodes=episodes
|
||||
) for season, episodes in seasoninfo.items()]
|
||||
|
||||
def mediaserver_playing(self, server: str, count: int = 20) -> List[schemas.MediaServerPlayItem]:
|
||||
def mediaserver_playing(self, count: int = 20, server: str = None) -> List[schemas.MediaServerPlayItem]:
|
||||
"""
|
||||
获取媒体服务器正在播放信息
|
||||
"""
|
||||
if server != "jellyfin":
|
||||
if server and server != "jellyfin":
|
||||
return []
|
||||
return self.jellyfin.get_resume(count)
|
||||
|
||||
@ -156,10 +156,10 @@ class JellyfinModule(_ModuleBase):
|
||||
return None
|
||||
return self.jellyfin.get_play_url(item_id)
|
||||
|
||||
def mediaserver_latest(self, server: str, count: int = 20) -> List[schemas.MediaServerPlayItem]:
|
||||
def mediaserver_latest(self, count: int = 20, server: str = None) -> List[schemas.MediaServerPlayItem]:
|
||||
"""
|
||||
获取媒体服务器最新入库条目
|
||||
"""
|
||||
if server != "jellyfin":
|
||||
if server and server != "jellyfin":
|
||||
return []
|
||||
return self.jellyfin.get_latest(count)
|
||||
|
@ -70,7 +70,10 @@ class Jellyfin(metaclass=Singleton):
|
||||
if not self._host or not self._apikey:
|
||||
return []
|
||||
libraries = []
|
||||
black_list = (settings.MEDIASERVER_SYNC_BLACKLIST or '').split(",")
|
||||
for library in self.__get_jellyfin_librarys() or []:
|
||||
if library.get("Name") in black_list:
|
||||
continue
|
||||
match library.get("CollectionType"):
|
||||
case "movies":
|
||||
library_type = MediaType.MOVIE.value
|
||||
|
@ -95,11 +95,11 @@ class PlexModule(_ModuleBase):
|
||||
media_statistic.user_count = 1
|
||||
return [media_statistic]
|
||||
|
||||
def mediaserver_librarys(self, server: str) -> Optional[List[schemas.MediaServerLibrary]]:
|
||||
def mediaserver_librarys(self, server: str = None) -> Optional[List[schemas.MediaServerLibrary]]:
|
||||
"""
|
||||
媒体库列表
|
||||
"""
|
||||
if server != "plex":
|
||||
if server and server != "plex":
|
||||
return None
|
||||
return self.plex.get_librarys()
|
||||
|
||||
@ -134,19 +134,19 @@ class PlexModule(_ModuleBase):
|
||||
episodes=episodes
|
||||
) for season, episodes in seasoninfo.items()]
|
||||
|
||||
def mediaserver_playing(self, server: str, count: int = 20) -> List[schemas.MediaServerPlayItem]:
|
||||
def mediaserver_playing(self, count: int = 20, server: str = None) -> List[schemas.MediaServerPlayItem]:
|
||||
"""
|
||||
获取媒体服务器正在播放信息
|
||||
"""
|
||||
if server != "plex":
|
||||
if server and server != "plex":
|
||||
return []
|
||||
return self.plex.get_resume(count)
|
||||
|
||||
def mediaserver_latest(self, server: str, count: int = 20) -> List[schemas.MediaServerPlayItem]:
|
||||
def mediaserver_latest(self, count: int = 20, server: str = None) -> List[schemas.MediaServerPlayItem]:
|
||||
"""
|
||||
获取媒体服务器最新入库条目
|
||||
"""
|
||||
if server != "plex":
|
||||
if server and server != "plex":
|
||||
return []
|
||||
return self.plex.get_latest(count)
|
||||
|
||||
|
@ -108,7 +108,10 @@ class Plex(metaclass=Singleton):
|
||||
logger.error(f"获取媒体服务器所有媒体库列表出错:{str(err)}")
|
||||
return []
|
||||
libraries = []
|
||||
black_list = (settings.MEDIASERVER_SYNC_BLACKLIST or '').split(",")
|
||||
for library in self._libraries:
|
||||
if library.title in black_list:
|
||||
continue
|
||||
match library.type:
|
||||
case "movie":
|
||||
library_type = MediaType.MOVIE.value
|
||||
|
Loading…
x
Reference in New Issue
Block a user