import sys import uuid import json from urllib import request from urllib import error from pathlib import Path PROJECT_ROOT = Path(__file__).resolve().parents[2] sys.path.insert(0, str(PROJECT_ROOT)) from pre_data.common.client_tools import reset_all_devices_by_type_id import argparse X11_TYPE_ID = "201c51890c31c308050100218008390000000000000000000000000000000040" # BASE_URL = "http://10.204.0.158:8024" # X11_RESET_ALL_ENDPOINT = f"{BASE_URL}/api/v1/reset/displayall" #使用方法 #REDIS_PROFILE=redis_dev python app/pre_data/x11/del_all_device.py --base-url http://10.204.0.131:8021 class HttpResponse: def __init__(self, status_code: int, text: str): self.status_code = status_code self.text = text class HttpClient: def post(self, url: str, json: dict): data = json_module_dumps(json).encode("utf-8") req = request.Request( url, data=data, headers={"Content-Type": "application/json"}, method="POST", ) try: with request.urlopen(req) as resp: return HttpResponse(resp.status, resp.read().decode("utf-8")) except error.HTTPError as exc: return HttpResponse(exc.code, exc.read().decode("utf-8")) def json_module_dumps(payload: dict) -> str: return json.dumps(payload, ensure_ascii=False) def parse_args(): parser = argparse.ArgumentParser() parser.add_argument( "--base-url", default="http://10.204.0.131:8021", help="reset 接口服务地址,例如 http://127.0.0.1:8000", ) return parser.parse_args() if __name__ == "__main__": args = parse_args() client = HttpClient() response = reset_all_devices_by_type_id( client=client, type_id=X11_TYPE_ID, reset_endpoint=f"{args.base_url}/api/v1/reset/displayall", query_timestamp="0", request_id=uuid.uuid4().hex, ) print(response.status_code, response.text)