From 522d970731fd47701c5f5720bbb932ddbb94d995 Mon Sep 17 00:00:00 2001 From: Akimio521 Date: Sat, 2 Nov 2024 13:58:30 +0800 Subject: [PATCH] =?UTF-8?q?feat(JellyfinModule):=20=E5=AE=9E=E7=8E=B0?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=AA=92=E4=BD=93=E6=9C=8D=E5=8A=A1=E5=99=A8?= =?UTF-8?q?=E6=9C=80=E6=96=B0=E5=85=A5=E5=BA=93=E6=9D=A1=E7=9B=AE=E7=9A=84?= =?UTF-8?q?=E5=9B=BE=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/modules/jellyfin/__init__.py | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/app/modules/jellyfin/__init__.py b/app/modules/jellyfin/__init__.py index 8afe61e8..563870c6 100644 --- a/app/modules/jellyfin/__init__.py +++ b/app/modules/jellyfin/__init__.py @@ -278,3 +278,31 @@ class JellyfinModule(_ModuleBase, _MediaServerBase[Jellyfin]): if not server: return [] return server.get_latest(num=count, username=username) + + def mediaserver_latest_images(self, + server: str, + count: int = 20, + username: str = None, + host_type: bool = True, + ) -> List[str]: + """ + 获取媒体服务器最新入库条目的图片 + + :param server: 媒体服务器名称 + :param count: 获取数量 + :param username: 用户名 + :param host_type: True为外网链接, False为内网链接 + :return: 图片链接列表 + """ + server: Jellyfin = self.get_instance(server) + if not server: + return [] + + links = [] + items: List[schemas.MediaServerPlayItem] = self.mediaserver_latest(num=count, username=username) + for item in items: + link = server.generate_image_link(item_id=item.id, image_type="Backdrop",host_type=host_type) + if link: + links.append(link) + + return links