api_test.py 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import sys
  2. import json
  3. import data_clean as dc
  4. import base64
  5. import io
  6. import locale
  7. # 设置 sys.stdout 和 sys.stdin 的编码为 UTF-8
  8. sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
  9. sys.stdin = io.TextIOWrapper(sys.stdin.buffer, encoding='utf-8')
  10. locale.getpreferredencoding = lambda: 'UTF-8'
  11. if __name__ == "__main__":
  12. # **🔹 解析命令行参数**
  13. if len(sys.argv) < 2:
  14. print(json.dumps({"error": "No API specified"}))
  15. sys.exit(1)
  16. api_name = sys.argv[1] # 第一个参数是 API 名称
  17. if api_name == "getpath":
  18. return_path = str(dc.result_main())
  19. print(json.dumps({'obj': return_path}, ensure_ascii=False))
  20. elif api_name == "loaddata":
  21. if len(sys.argv) < 3:
  22. print(json.dumps({"error": "No data"}))
  23. sys.exit(1)
  24. data = json.loads(base64.b64decode(sys.argv[2]).decode("utf-8"))
  25. return_list = dc.data_analyse(data)
  26. print(json.dumps(return_list, ensure_ascii=False))
  27. elif api_name == "historydata":
  28. if len(sys.argv) < 3:
  29. print(json.dumps({"error": "No data"}))
  30. sys.exit(1)
  31. data = json.loads(base64.b64decode(sys.argv[2]).decode("utf-8"))
  32. return_list = dc.history_data(data)
  33. print(json.dumps(return_list, ensure_ascii=False))
  34. elif api_name == "deletedata":
  35. if len(sys.argv) < 3:
  36. print(json.dumps({"error": "No data"}))
  37. sys.exit(1)
  38. data = json.loads(base64.b64decode(sys.argv[2]).decode("utf-8"))
  39. return_path = dc.delete_data(data)
  40. print(json.dumps(return_path, ensure_ascii=False))
  41. else:
  42. print(json.dumps({"error": "Invalid API"}))