From 9b97e478aa728d0d4436e4d34d6fc0bbc69dd6b8 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Sat, 6 Jan 2024 10:59:46 +0800 Subject: [PATCH] =?UTF-8?q?-=20=E4=BF=AE=E5=A4=8DPlex=E5=AA=92=E4=BD=93?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E5=B1=95=E7=A4=BA=E4=B8=8E=E8=B7=B3=E8=BD=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/modules/plex/plex.py | 13 +++++++------ version.py | 2 +- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/app/modules/plex/plex.py b/app/modules/plex/plex.py index fe985129..7c52a975 100644 --- a/app/modules/plex/plex.py +++ b/app/modules/plex/plex.py @@ -60,7 +60,7 @@ class Plex(metaclass=Singleton): logger.error(f"Plex服务器连接失败:{str(e)}") @lru_cache(maxsize=10) - def __get_library_images(self, library_key: str) -> Optional[List[str]]: + def __get_library_images(self, library_key: str, mtype: int) -> Optional[List[str]]: """ 获取媒体服务器最近添加的媒体的图片列表 param: library_key @@ -76,7 +76,7 @@ class Plex(metaclass=Singleton): total_size = 4 # 如果总数不足,接续获取下一页 while len(poster_urls) < total_size: - items = self._plex.fetchItems(f"/hubs/home/recentlyAdded?type={type}§ionID={library_key}", + items = self._plex.fetchItems(f"/hubs/home/recentlyAdded?type={mtype}§ionID={library_key}", container_size=total_size, container_start=container_start) for item in items: @@ -115,11 +115,12 @@ class Plex(metaclass=Singleton): match library.type: case "movie": library_type = MediaType.MOVIE.value + image_list = self.__get_library_images(library.key, 1) case "show": library_type = MediaType.TV.value + image_list = self.__get_library_images(library.key, 2) case _: continue - image_list = self.__get_library_images(library.key) libraries.append( schemas.MediaServerLibrary( id=library.key, @@ -602,7 +603,7 @@ class Plex(metaclass=Singleton): 拼装媒体播放链接 :param item_id: 媒体的的ID """ - return f'{self._playhost or self._host}#!/server/{self._plex.machineIdentifier}/details?key={item_id}' + return f'{self._playhost or self._host}web/index.html#!/server/{self._plex.machineIdentifier}/details?key={item_id}' def get_resume(self, num: int = 12) -> Optional[List[schemas.MediaServerPlayItem]]: """ @@ -631,7 +632,7 @@ class Plex(metaclass=Singleton): link=link, percent=item.viewOffset / item.duration * 100 if item.viewOffset and item.duration else 0 )) - return ret_resume + return ret_resume[:num] def get_latest(self, num: int = 20) -> Optional[List[schemas.MediaServerPlayItem]]: """ @@ -655,4 +656,4 @@ class Plex(metaclass=Singleton): image=image, link=link )) - return ret_resume + return ret_resume[:num] diff --git a/version.py b/version.py index 1c455bc6..db1bd289 100644 --- a/version.py +++ b/version.py @@ -1 +1 @@ -APP_VERSION = 'v1.5.7-1' +APP_VERSION = 'v1.5.7-2'