Merge pull request #1378 from thsrite/main
This commit is contained in:
commit
3500f5b9a6
@ -66,6 +66,41 @@ class Emby(metaclass=Singleton):
|
|||||||
logger.error(f"连接Library/SelectableMediaFolders 出错:" + str(e))
|
logger.error(f"连接Library/SelectableMediaFolders 出错:" + str(e))
|
||||||
return []
|
return []
|
||||||
|
|
||||||
|
def get_emby_virtual_folders(self) -> List[dict]:
|
||||||
|
"""
|
||||||
|
获取Emby媒体库所有路径列表(包含共享路径)
|
||||||
|
"""
|
||||||
|
if not self._host or not self._apikey:
|
||||||
|
return []
|
||||||
|
req_url = "%semby/Library/VirtualFolders/Query?api_key=%s" % (self._host, self._apikey)
|
||||||
|
try:
|
||||||
|
res = RequestUtils().get_res(req_url)
|
||||||
|
if res:
|
||||||
|
library_items = res.json().get("Items")
|
||||||
|
librarys = []
|
||||||
|
for library_item in library_items:
|
||||||
|
library_name = library_item.get('Name')
|
||||||
|
pathInfos = library_item.get('LibraryOptions', {}).get('PathInfos')
|
||||||
|
library_paths = []
|
||||||
|
for path in pathInfos:
|
||||||
|
if path.get('NetworkPath'):
|
||||||
|
library_paths.append(path.get('NetworkPath'))
|
||||||
|
else:
|
||||||
|
library_paths.append(path.get('Path'))
|
||||||
|
|
||||||
|
if library_name and library_paths:
|
||||||
|
librarys.append({
|
||||||
|
'Name': library_name,
|
||||||
|
'Path': library_paths
|
||||||
|
})
|
||||||
|
return librarys
|
||||||
|
else:
|
||||||
|
logger.error(f"Library/VirtualFolders/Query 未获取到返回数据")
|
||||||
|
return []
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(f"连接Library/VirtualFolders/Query 出错:" + str(e))
|
||||||
|
return []
|
||||||
|
|
||||||
def __get_emby_librarys(self, username: str = None) -> List[dict]:
|
def __get_emby_librarys(self, username: str = None) -> List[dict]:
|
||||||
"""
|
"""
|
||||||
获取Emby媒体库列表
|
获取Emby媒体库列表
|
||||||
@ -1077,8 +1112,8 @@ class Emby(metaclass=Singleton):
|
|||||||
return []
|
return []
|
||||||
library_folders = []
|
library_folders = []
|
||||||
black_list = (settings.MEDIASERVER_SYNC_BLACKLIST or '').split(",")
|
black_list = (settings.MEDIASERVER_SYNC_BLACKLIST or '').split(",")
|
||||||
for library in self.get_emby_folders() or []:
|
for library in self.get_emby_virtual_folders() or []:
|
||||||
if library.get("Name") in black_list:
|
if library.get("Name") in black_list:
|
||||||
continue
|
continue
|
||||||
library_folders += [folder.get("Path") for folder in library.get("SubFolders")]
|
library_folders += [folder for folder in library.get("Path")]
|
||||||
return library_folders
|
return library_folders
|
||||||
|
@ -63,6 +63,41 @@ class Jellyfin(metaclass=Singleton):
|
|||||||
logger.error(f"连接Library/SelectableMediaFolders 出错:" + str(e))
|
logger.error(f"连接Library/SelectableMediaFolders 出错:" + str(e))
|
||||||
return []
|
return []
|
||||||
|
|
||||||
|
def get_jellyfin_virtual_folders(self) -> List[dict]:
|
||||||
|
"""
|
||||||
|
获取Jellyfin媒体库所有路径列表(包含共享路径)
|
||||||
|
"""
|
||||||
|
if not self._host or not self._apikey:
|
||||||
|
return []
|
||||||
|
req_url = "%sLibrary/VirtualFolders/Query?api_key=%s" % (self._host, self._apikey)
|
||||||
|
try:
|
||||||
|
res = RequestUtils().get_res(req_url)
|
||||||
|
if res:
|
||||||
|
library_items = res.json().get("Items")
|
||||||
|
librarys = []
|
||||||
|
for library_item in library_items:
|
||||||
|
library_name = library_item.get('Name')
|
||||||
|
pathInfos = library_item.get('LibraryOptions', {}).get('PathInfos')
|
||||||
|
library_paths = []
|
||||||
|
for path in pathInfos:
|
||||||
|
if path.get('NetworkPath'):
|
||||||
|
library_paths.append(path.get('NetworkPath'))
|
||||||
|
else:
|
||||||
|
library_paths.append(path.get('Path'))
|
||||||
|
|
||||||
|
if library_name and library_paths:
|
||||||
|
librarys.append({
|
||||||
|
'Name': library_name,
|
||||||
|
'Path': library_paths
|
||||||
|
})
|
||||||
|
return librarys
|
||||||
|
else:
|
||||||
|
logger.error(f"Library/VirtualFolders/Query 未获取到返回数据")
|
||||||
|
return []
|
||||||
|
except Exception as e:
|
||||||
|
logger.error(f"连接Library/VirtualFolders/Query 出错:" + str(e))
|
||||||
|
return []
|
||||||
|
|
||||||
def __get_jellyfin_librarys(self, username: str = None) -> List[dict]:
|
def __get_jellyfin_librarys(self, username: str = None) -> List[dict]:
|
||||||
"""
|
"""
|
||||||
获取Jellyfin媒体库的信息
|
获取Jellyfin媒体库的信息
|
||||||
@ -772,8 +807,8 @@ class Jellyfin(metaclass=Singleton):
|
|||||||
return []
|
return []
|
||||||
library_folders = []
|
library_folders = []
|
||||||
black_list = (settings.MEDIASERVER_SYNC_BLACKLIST or '').split(",")
|
black_list = (settings.MEDIASERVER_SYNC_BLACKLIST or '').split(",")
|
||||||
for library in self.get_jellyfin_folders() or []:
|
for library in self.get_jellyfin_virtual_folders() or []:
|
||||||
if library.get("Name") in black_list:
|
if library.get("Name") in black_list:
|
||||||
continue
|
continue
|
||||||
library_folders += [folder.get("Path") for folder in library.get("SubFolders")]
|
library_folders += [folder for folder in library.get("Path")]
|
||||||
return library_folders
|
return library_folders
|
||||||
|
Loading…
x
Reference in New Issue
Block a user