This commit is contained in:
jxxghp
2024-01-06 08:46:18 +08:00
parent 2c8a41ebad
commit 2af7abee3c
8 changed files with 35 additions and 35 deletions

View File

@ -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)

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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)

View File

@ -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