75 lines
2.2 KiB
Python
Executable File

#!/usr/bin/python3
import json
import sys
import requests
USERNAME = "developer"
PASSWORD = "fuckyou123"
def do_login(base_url):
session = requests.session()
login_data = json.dumps({
"username": USERNAME,
"password": PASSWORD
}, ensure_ascii=True, indent=0)
session.get(f"{base_url}/login")
login_result = json.loads(session.post(f"{base_url}/login", headers={'Content-Type': 'application/json'}, data=login_data).content.decode('utf-8'))
if "error" in login_result:
raise RuntimeError(f"Failed to login: {login_result}")
return session
def cp_set_dma_debug(base_url, param_name, value):
session = do_login(base_url)
res = session.post(f"{base_url}/dev/cpapicall", params={
"f": "SetDmaDebug",
"param": param_name,
"value": value
})
return res.content.decode('utf-8')
def cp_get_dma_debug(base_url, param_name):
session = do_login(base_url)
res = session.post(f"{base_url}/dev/cpapicall", params={
"f": "GetDmaDebug",
"param": param_name
})
return res.content.decode('utf-8')
def set_logging(base_url, value):
print(cp_set_dma_debug(base_url, "log_bool", value))
if __name__ == '__main__':
if len(sys.argv) < 3:
print(f"Usage: {sys.argv[0]} http(s)://terminal-url logging on|off")
print(f" set_dma_debug <param_name> <value>")
print(f" get_dma_debug <param_name>")
exit(1)
if sys.argv[2] == "logging":
if len(sys.argv) != 4:
print("Wrong logging usage!")
else:
set_logging(sys.argv[1], {"on": "true", "off": "false"}[sys.argv[3]])
elif sys.argv[2] == "set_dma_debug":
if len(sys.argv) != 5:
print("Wrong set dma debug usage!")
else:
print(cp_set_dma_debug(sys.argv[1], sys.argv[3], sys.argv[4]))
elif sys.argv[2] == "get_dma_debug":
if len(sys.argv) != 4:
print("Wrong set dma debug usage!")
else:
print(cp_get_dma_debug(sys.argv[1], sys.argv[3]))
else:
print(f"Unknown action: {sys.argv[1]}")