del_all_device.py 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import sys
  2. import uuid
  3. import json
  4. from urllib import request
  5. from urllib import error
  6. from pathlib import Path
  7. PROJECT_ROOT = Path(__file__).resolve().parents[2]
  8. sys.path.insert(0, str(PROJECT_ROOT))
  9. from pre_data.common.client_tools import reset_all_devices_by_type_id
  10. import argparse
  11. X11_TYPE_ID = "201c51890c31c308050100218008390000000000000000000000000000000040"
  12. # BASE_URL = "http://10.204.0.158:8024"
  13. # X11_RESET_ALL_ENDPOINT = f"{BASE_URL}/api/v1/reset/displayall"
  14. #使用方法
  15. #REDIS_PROFILE=redis_dev python app/pre_data/x11/del_all_device.py --base-url http://10.204.0.131:8021
  16. class HttpResponse:
  17. def __init__(self, status_code: int, text: str):
  18. self.status_code = status_code
  19. self.text = text
  20. class HttpClient:
  21. def post(self, url: str, json: dict):
  22. data = json_module_dumps(json).encode("utf-8")
  23. req = request.Request(
  24. url,
  25. data=data,
  26. headers={"Content-Type": "application/json"},
  27. method="POST",
  28. )
  29. try:
  30. with request.urlopen(req) as resp:
  31. return HttpResponse(resp.status, resp.read().decode("utf-8"))
  32. except error.HTTPError as exc:
  33. return HttpResponse(exc.code, exc.read().decode("utf-8"))
  34. def json_module_dumps(payload: dict) -> str:
  35. return json.dumps(payload, ensure_ascii=False)
  36. def parse_args():
  37. parser = argparse.ArgumentParser()
  38. parser.add_argument(
  39. "--base-url",
  40. default="http://10.204.0.131:8021",
  41. help="reset 接口服务地址,例如 http://127.0.0.1:8000",
  42. )
  43. return parser.parse_args()
  44. if __name__ == "__main__":
  45. args = parse_args()
  46. client = HttpClient()
  47. response = reset_all_devices_by_type_id(
  48. client=client,
  49. type_id=X11_TYPE_ID,
  50. reset_endpoint=f"{args.base_url}/api/v1/reset/displayall",
  51. query_timestamp="0",
  52. request_id=uuid.uuid4().hex,
  53. )
  54. print(response.status_code, response.text)