mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-06 16:07:01 +08:00
feat:emby用户名
This commit is contained in:
@@ -142,7 +142,7 @@ async def proxy_img(
|
|||||||
cache: bool = False,
|
cache: bool = False,
|
||||||
if_none_match: Annotated[str | None, Header()] = None,
|
if_none_match: Annotated[str | None, Header()] = None,
|
||||||
_: schemas.TokenPayload = Depends(verify_resource_token)
|
_: schemas.TokenPayload = Depends(verify_resource_token)
|
||||||
) -> Optional[Response]:
|
) -> Response:
|
||||||
"""
|
"""
|
||||||
图片代理,可选是否使用代理服务器,支持 HTTP 缓存
|
图片代理,可选是否使用代理服务器,支持 HTTP 缓存
|
||||||
"""
|
"""
|
||||||
@@ -159,7 +159,7 @@ async def cache_img(
|
|||||||
url: str,
|
url: str,
|
||||||
if_none_match: Annotated[str | None, Header()] = None,
|
if_none_match: Annotated[str | None, Header()] = None,
|
||||||
_: schemas.TokenPayload = Depends(verify_resource_token)
|
_: schemas.TokenPayload = Depends(verify_resource_token)
|
||||||
) -> Optional[Response]:
|
) -> Response:
|
||||||
"""
|
"""
|
||||||
本地缓存图片文件,支持 HTTP 缓存,如果启用全局图片缓存,则使用磁盘缓存
|
本地缓存图片文件,支持 HTTP 缓存,如果启用全局图片缓存,则使用磁盘缓存
|
||||||
"""
|
"""
|
||||||
|
|||||||
@@ -10,10 +10,10 @@ from requests import Response
|
|||||||
from app import schemas
|
from app import schemas
|
||||||
from app.core.config import settings
|
from app.core.config import settings
|
||||||
from app.log import logger
|
from app.log import logger
|
||||||
|
from app.schemas import MediaServerItem
|
||||||
from app.schemas.types import MediaType
|
from app.schemas.types import MediaType
|
||||||
from app.utils.http import RequestUtils
|
from app.utils.http import RequestUtils
|
||||||
from app.utils.url import UrlUtils
|
from app.utils.url import UrlUtils
|
||||||
from app.schemas import MediaServerItem
|
|
||||||
|
|
||||||
|
|
||||||
class Emby:
|
class Emby:
|
||||||
@@ -22,9 +22,10 @@ class Emby:
|
|||||||
_apikey: Optional[str] = None
|
_apikey: Optional[str] = None
|
||||||
_sync_libraries: List[str] = []
|
_sync_libraries: List[str] = []
|
||||||
user: Optional[Union[str, int]] = None
|
user: Optional[Union[str, int]] = None
|
||||||
|
_username: Optional[str] = None
|
||||||
|
|
||||||
def __init__(self, host: Optional[str] = None, apikey: Optional[str] = None, play_host: Optional[str] = None,
|
def __init__(self, host: Optional[str] = None, apikey: Optional[str] = None, play_host: Optional[str] = None,
|
||||||
sync_libraries: list = None, **kwargs):
|
username: Optional[str] = None, sync_libraries: list = None, **kwargs):
|
||||||
if not host or not apikey:
|
if not host or not apikey:
|
||||||
logger.error("Emby服务器配置不完整!")
|
logger.error("Emby服务器配置不完整!")
|
||||||
return
|
return
|
||||||
@@ -35,7 +36,8 @@ class Emby:
|
|||||||
if self._playhost:
|
if self._playhost:
|
||||||
self._playhost = UrlUtils.standardize_base_url(self._playhost)
|
self._playhost = UrlUtils.standardize_base_url(self._playhost)
|
||||||
self._apikey = apikey
|
self._apikey = apikey
|
||||||
self.user = self.get_user(settings.SUPERUSER)
|
self._username = username
|
||||||
|
self.user = self.get_user(username or settings.SUPERUSER)
|
||||||
self.folders = self.get_emby_folders()
|
self.folders = self.get_emby_folders()
|
||||||
self.serverid = self.get_server_id()
|
self.serverid = self.get_server_id()
|
||||||
self._sync_libraries = sync_libraries or []
|
self._sync_libraries = sync_libraries or []
|
||||||
@@ -139,7 +141,8 @@ class Emby:
|
|||||||
logger.error(f"连接User/Views 出错:" + str(e))
|
logger.error(f"连接User/Views 出错:" + str(e))
|
||||||
return []
|
return []
|
||||||
|
|
||||||
def get_librarys(self, username: Optional[str] = None, hidden: Optional[bool] = False) -> List[schemas.MediaServerLibrary]:
|
def get_librarys(self, username: Optional[str] = None, hidden: Optional[bool] = False) -> List[
|
||||||
|
schemas.MediaServerLibrary]:
|
||||||
"""
|
"""
|
||||||
获取媒体服务器所有媒体库列表
|
获取媒体服务器所有媒体库列表
|
||||||
"""
|
"""
|
||||||
@@ -567,6 +570,7 @@ class Emby:
|
|||||||
if library_id != "/":
|
if library_id != "/":
|
||||||
return self.__refresh_emby_library_by_id(library_id)
|
return self.__refresh_emby_library_by_id(library_id)
|
||||||
logger.info(f"Emby媒体库刷新完成")
|
logger.info(f"Emby媒体库刷新完成")
|
||||||
|
return True
|
||||||
|
|
||||||
def __get_emby_library_id_by_item(self, item: schemas.RefreshMediaItem) -> Optional[str]:
|
def __get_emby_library_id_by_item(self, item: schemas.RefreshMediaItem) -> Optional[str]:
|
||||||
"""
|
"""
|
||||||
@@ -706,9 +710,9 @@ class Emby:
|
|||||||
yield items
|
yield items
|
||||||
elif item.get("Type") in ["Movie", "Series"]:
|
elif item.get("Type") in ["Movie", "Series"]:
|
||||||
yield self.__format_item_info(item)
|
yield self.__format_item_info(item)
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"连接Users/Items出错:" + str(e))
|
logger.error(f"连接Users/Items出错:" + str(e))
|
||||||
|
return None
|
||||||
|
|
||||||
def get_webhook_message(self, form: any, args: dict) -> Optional[schemas.WebhookEventInfo]:
|
def get_webhook_message(self, form: any, args: dict) -> Optional[schemas.WebhookEventInfo]:
|
||||||
"""
|
"""
|
||||||
@@ -1109,7 +1113,8 @@ class Emby:
|
|||||||
return ""
|
return ""
|
||||||
return "%sItems/%s/Images/Primary" % (self._host, item_id)
|
return "%sItems/%s/Images/Primary" % (self._host, item_id)
|
||||||
|
|
||||||
def get_resume(self, num: Optional[int] = 12, username: Optional[str] = None) -> Optional[List[schemas.MediaServerPlayItem]]:
|
def get_resume(self, num: Optional[int] = 12, username: Optional[str] = None) -> Optional[
|
||||||
|
List[schemas.MediaServerPlayItem]]:
|
||||||
"""
|
"""
|
||||||
获得继续观看
|
获得继续观看
|
||||||
"""
|
"""
|
||||||
@@ -1178,7 +1183,8 @@ class Emby:
|
|||||||
logger.error(f"连接Users/Items/Resume出错:" + str(e))
|
logger.error(f"连接Users/Items/Resume出错:" + str(e))
|
||||||
return []
|
return []
|
||||||
|
|
||||||
def get_latest(self, num: Optional[int] = 20, username: Optional[str] = None) -> Optional[List[schemas.MediaServerPlayItem]]:
|
def get_latest(self, num: Optional[int] = 20, username: Optional[str] = None) -> Optional[
|
||||||
|
List[schemas.MediaServerPlayItem]]:
|
||||||
"""
|
"""
|
||||||
获得最近更新
|
获得最近更新
|
||||||
"""
|
"""
|
||||||
|
|||||||
Reference in New Issue
Block a user