import json
from .ql import ql_api
[文档]class qlscript(ql_api):
"""
青龙面板api脚本管理模块
url: 青龙面板IP地址(不包含http://)
post: 青龙面板端口
client_id: 青龙面板openapi登录用户名
client_secret: 青龙面板openapi登录密码
Usage::
>>> ql_script = qlscript(
url="12.22.43.23",
port=5700,
client_id="admin",
client_secret="abcdefg_",
)
ql_script.get_all()
"""
def __init__(self, url: str, post: int, client_id: str, client_secret: str):
super().__init__(url, post, client_id, client_secret)
self.script_url = f"{self.url}/open/scripts/"
[文档] def get_all(self):
"""
获取所有脚本列表
:return: 源响应json
"""
url = self.script_url + 'files'
return self.s.get(url).json()
[文档] def get_script(self, name: str):
"""
获取脚本详情
:param name: 脚本名称
:return: 源响应json
"""
url = self.script_url + name
return self.s.get(url).json()
[文档] def add(self, filename: str, path: str, content: str, originFilename: str) -> dict:
"""
添加脚本
:param filename: 脚本名称
:param path: 脚本路径
:param content: 脚本内容
:param originFilename: 脚本原始名称
:return: 源响应json
"""
url = self.script_url
data = {
"filename": filename,
"path": path,
"content": content,
"originFilename": originFilename
}
return self.s.post(url, json=json.dumps(data)).json()
[文档] def update(self, filename: str, path: str, content: str) -> dict:
"""
更新脚本
:param filename: 脚本名称
:param path: 脚本路径
:param content: 脚本内容
:return: 源响应json
"""
url = self.script_url
data = {
"filename": filename,
"path": path,
"content": content
}
return self.s.put(url, data=json.dumps(data)).json()
[文档] def delete(self, path:str,filename: str) -> dict:
"""
删除脚本
:param path: 脚本路径
:param filename: 脚本名称
:return: 源响应json
"""
url = self.script_url
data = {
"path": path,
"filename": filename
}
return self.s.delete(url,data=json.dumps(data)).json()
[文档] def download(self, filename: str) -> dict:
"""
下载脚本
:param filename: 脚本名称
:return: 源响应json
"""
url = self.script_url + "download"
data = {
"filename": filename
}
return self.s.post(url,data=json.dumps(data)).json()
[文档] def run(self, path:str,filename: str) -> dict:
"""
运行脚本
:param path: 脚本路径
:param filename: 脚本名称
:return: 源响应json
"""
url = self.script_url + "run"
data = {
"filename": filename,
"path": path
}
print(data,url)
return self.s.put(url,data=json.dumps(data)).json()
[文档] def stop(self, path:str,filename: str) -> dict:
"""
停止脚本
:param path: 脚本路径
:param filename: 脚本名称
:return: 源响应json
"""
url = self.script_url + "stop"
data = {
"filename": filename,
"path": path
}
return self.s.put(url,data=json.dumps(data)).json()