refactor(alist-strm-lite): 修改 path_prefix 为 quark_root_path

This commit is contained in:
xiaoQQya 2024-11-16 14:42:42 +08:00
parent eabb376347
commit 6c7e892590
3 changed files with 9 additions and 13 deletions

View File

@ -155,7 +155,7 @@ docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtow
* url: Alist 访问地址例如http://127.0.0.1:5244
* tokenAlist 访问令牌Alist 管理后台-设置-其他-令牌-复制令牌
* path_prefix: Alist 夸克网盘的挂载路径Alist 管理后台-存储-夸克驱动-挂载路径,默认 `/quark`
* quark_root_path: Alist 夸克网盘的挂载路径Alist 管理后台-存储-夸克驱动-挂载路径,默认 `/quark`
* quark_root_dir: Alist 挂载的夸克网盘根目录Alist 管理后台-存储-夸克驱动-根文件夹IDAlist 填写的为文件夹 ID此处需要填写文件夹路径默认 `/`
#### alist_strm_lite
@ -165,7 +165,7 @@ docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtow
* url: Alist 访问地址例如http://127.0.0.1:5244
* webdav_username: Alist WebDAV 用户名
* webdav_password: Alist WebDAV 密码
* path_prefix: Alist 夸克网盘的挂载路径Alist 管理后台-存储-夸克驱动-挂载路径,默认 `/quark`
* quark_root_path: Alist 夸克网盘的挂载路径Alist 管理后台-存储-夸克驱动-挂载路径,默认 `/quark`
* quark_root_dir: Alist 挂载的夸克网盘根目录Alist 管理后台-存储-夸克驱动-根文件夹IDAlist 填写的为文件夹 ID此处需要填写文件夹路径默认 `/`
* strm_save_dir: strm 文件保存路径,如使用 docker 对应 docker 内部路径,默认 `/media`
* strm_url_host: strm 文件内链接使用的主机地址例如http://example.host ,配合自定义 host 解析在 strm 文件迁移机器时无需重新生成 strm 文件,修改自定义 host 解析地址即可,默认为空时使用 url 配置

View File

@ -16,7 +16,7 @@ from webdav3.client import Client
class Alist_strm_lite:
video_exts = ["mp4", "mkv", "flv", "mov", "m4v", "avi", "webm", "wmv"]
default_config = {"url": "", "webdav_username": "", "webdav_password": "", "path_prefix": "/quark", "quark_root_dir": "/", "strm_save_dir": "/media", "strm_url_host": ""}
default_config = {"url": "", "webdav_username": "", "webdav_password": "", "quark_root_path": "/quark", "quark_root_dir": "/", "strm_save_dir": "/media", "strm_url_host": ""}
is_active = False
def __init__(self, **kwargs):
@ -40,8 +40,10 @@ class Alist_strm_lite:
def run(self, task):
if task.get("savepath") and task.get("savepath").startswith(self.quark_root_dir):
path = self._normalize_path(task["savepath"])
self.refresh(path)
full_path = os.path.normpath(
os.path.join(self.quark_root_path, task["savepath"].lstrip("/").lstrip(self.quark_root_dir))
).replace("\\", "/")
self.refresh(full_path)
def get_info(self):
try:
@ -82,9 +84,3 @@ class Alist_strm_lite:
host = self.strm_url_host.rstrip("/") if self.strm_url_host.strip() else self.url.rstrip("/")
strm_file.write(f"{host}/d{file_path}")
print(f"📺 生成STRM文件 {strm_path} 成功✅")
def _normalize_path(self, path):
"""标准化路径格式"""
if not path.startswith(self.path_prefix):
path = f"/{self.path_prefix}/{path.lstrip(self.quark_root_dir)}"
return re.sub(r"/{2,}", "/", path)

View File

@ -10,14 +10,14 @@
"alist": {
"url": "",
"token": "",
"path_prefix": "/quark",
"quark_root_path": "/quark",
"quark_root_dir": "/"
},
"alist_strm_lite": {
"url": "",
"webdav_username": "",
"webdav_password": "",
"path_prefix": "/quark",
"quark_root_path": "/quark",
"quark_root_dir": "/",
"strm_save_dir": "/media",
"strm_url_host": ""