#!/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 ") print(f" get_dma_debug ") 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]}")