mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 23:47:41 +08:00
refactor:media_exists 支持指定服务器
This commit is contained in:
@@ -450,14 +450,16 @@ class ChainBase(metaclass=ABCMeta):
|
|||||||
"""
|
"""
|
||||||
return self.run_module("torrent_files", tid=tid, downloader=downloader)
|
return self.run_module("torrent_files", tid=tid, downloader=downloader)
|
||||||
|
|
||||||
def media_exists(self, mediainfo: MediaInfo, itemid: str = None) -> Optional[ExistMediaInfo]:
|
def media_exists(self, mediainfo: MediaInfo, itemid: str = None,
|
||||||
|
server: str = None) -> Optional[ExistMediaInfo]:
|
||||||
"""
|
"""
|
||||||
判断媒体文件是否存在
|
判断媒体文件是否存在
|
||||||
:param mediainfo: 识别的媒体信息
|
:param mediainfo: 识别的媒体信息
|
||||||
:param itemid: 媒体服务器ItemID
|
:param itemid: 媒体服务器ItemID
|
||||||
|
:param server: 媒体服务器
|
||||||
:return: 如不存在返回None,存在时返回信息,包括每季已存在所有集{type: movie/tv, seasons: {season: [episodes]}}
|
:return: 如不存在返回None,存在时返回信息,包括每季已存在所有集{type: movie/tv, seasons: {season: [episodes]}}
|
||||||
"""
|
"""
|
||||||
return self.run_module("media_exists", mediainfo=mediainfo, itemid=itemid)
|
return self.run_module("media_exists", mediainfo=mediainfo, itemid=itemid, server=server)
|
||||||
|
|
||||||
def media_files(self, mediainfo: MediaInfo) -> Optional[List[FileItem]]:
|
def media_files(self, mediainfo: MediaInfo) -> Optional[List[FileItem]]:
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -101,14 +101,22 @@ class EmbyModule(_ModuleBase, _MediaServerBase[Emby]):
|
|||||||
return result
|
return result
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def media_exists(self, mediainfo: MediaInfo, itemid: str = None) -> Optional[schemas.ExistMediaInfo]:
|
def media_exists(self, mediainfo: MediaInfo, itemid: str = None,
|
||||||
|
server: str = None) -> Optional[schemas.ExistMediaInfo]:
|
||||||
"""
|
"""
|
||||||
判断媒体文件是否存在
|
判断媒体文件是否存在
|
||||||
:param mediainfo: 识别的媒体信息
|
:param mediainfo: 识别的媒体信息
|
||||||
:param itemid: 媒体服务器ItemID
|
:param itemid: 媒体服务器ItemID
|
||||||
|
:param server: 媒体服务器名称
|
||||||
:return: 如不存在返回None,存在时返回信息,包括每季已存在所有集{type: movie/tv, seasons: {season: [episodes]}}
|
:return: 如不存在返回None,存在时返回信息,包括每季已存在所有集{type: movie/tv, seasons: {season: [episodes]}}
|
||||||
"""
|
"""
|
||||||
for name, server in self.get_instances().items():
|
if server:
|
||||||
|
servers = [(server, self.get_instance(server))]
|
||||||
|
else:
|
||||||
|
servers = self.get_instances().items()
|
||||||
|
for name, server in servers:
|
||||||
|
if not server:
|
||||||
|
continue
|
||||||
if mediainfo.type == MediaType.MOVIE:
|
if mediainfo.type == MediaType.MOVIE:
|
||||||
if itemid:
|
if itemid:
|
||||||
movie = server.get_iteminfo(itemid)
|
movie = server.get_iteminfo(itemid)
|
||||||
|
|||||||
@@ -101,14 +101,22 @@ class JellyfinModule(_ModuleBase, _MediaServerBase[Jellyfin]):
|
|||||||
return result
|
return result
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def media_exists(self, mediainfo: MediaInfo, itemid: str = None) -> Optional[schemas.ExistMediaInfo]:
|
def media_exists(self, mediainfo: MediaInfo, itemid: str = None,
|
||||||
|
server: str = None) -> Optional[schemas.ExistMediaInfo]:
|
||||||
"""
|
"""
|
||||||
判断媒体文件是否存在
|
判断媒体文件是否存在
|
||||||
:param mediainfo: 识别的媒体信息
|
:param mediainfo: 识别的媒体信息
|
||||||
:param itemid: 媒体服务器ItemID
|
:param itemid: 媒体服务器ItemID
|
||||||
|
:param server: 媒体服务器名称
|
||||||
:return: 如不存在返回None,存在时返回信息,包括每季已存在所有集{type: movie/tv, seasons: {season: [episodes]}}
|
:return: 如不存在返回None,存在时返回信息,包括每季已存在所有集{type: movie/tv, seasons: {season: [episodes]}}
|
||||||
"""
|
"""
|
||||||
for name, server in self.get_instances().items():
|
if server:
|
||||||
|
servers = [(server, self.get_instance(server))]
|
||||||
|
else:
|
||||||
|
servers = self.get_instances().items()
|
||||||
|
for name, server in servers:
|
||||||
|
if not server:
|
||||||
|
continue
|
||||||
if mediainfo.type == MediaType.MOVIE:
|
if mediainfo.type == MediaType.MOVIE:
|
||||||
if itemid:
|
if itemid:
|
||||||
movie = server.get_iteminfo(itemid)
|
movie = server.get_iteminfo(itemid)
|
||||||
|
|||||||
@@ -82,14 +82,22 @@ class PlexModule(_ModuleBase, _MediaServerBase[Plex]):
|
|||||||
return result
|
return result
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def media_exists(self, mediainfo: MediaInfo, itemid: str = None) -> Optional[schemas.ExistMediaInfo]:
|
def media_exists(self, mediainfo: MediaInfo, itemid: str = None,
|
||||||
|
server: str = None) -> Optional[schemas.ExistMediaInfo]:
|
||||||
"""
|
"""
|
||||||
判断媒体文件是否存在
|
判断媒体文件是否存在
|
||||||
:param mediainfo: 识别的媒体信息
|
:param mediainfo: 识别的媒体信息
|
||||||
:param itemid: 媒体服务器ItemID
|
:param itemid: 媒体服务器ItemID
|
||||||
|
:param server: 媒体服务器名称
|
||||||
:return: 如不存在返回None,存在时返回信息,包括每季已存在所有集{type: movie/tv, seasons: {season: [episodes]}}
|
:return: 如不存在返回None,存在时返回信息,包括每季已存在所有集{type: movie/tv, seasons: {season: [episodes]}}
|
||||||
"""
|
"""
|
||||||
for name, server in self.get_instances().items():
|
if server:
|
||||||
|
servers = [(server, self.get_instance(server))]
|
||||||
|
else:
|
||||||
|
servers = self.get_instances().items()
|
||||||
|
for name, server in servers:
|
||||||
|
if not server:
|
||||||
|
continue
|
||||||
if mediainfo.type == MediaType.MOVIE:
|
if mediainfo.type == MediaType.MOVIE:
|
||||||
if itemid:
|
if itemid:
|
||||||
movie = server.get_iteminfo(itemid)
|
movie = server.get_iteminfo(itemid)
|
||||||
|
|||||||
Reference in New Issue
Block a user