AIGCClient.py 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. import json
  2. from typing import Tuple
  3. import requests
  4. class AIGCClient(object):
  5. def __init__(self, token, base_url):
  6. self.token = token
  7. self.base_url = base_url
  8. def update_produce_plan_status(self, produce_plan_id: str, status: int):
  9. params = {
  10. "id": produce_plan_id,
  11. "status": status,
  12. }
  13. url = f"{self.base_url}/aigc/produce/plan/updatePlanStatus"
  14. self.post(url, params)
  15. def get_content_crawler_plan_by_id(self, crawler_plan_id: str) -> Tuple[str, dict]:
  16. params = {
  17. "filterItems": [
  18. {
  19. "itemName": "id",
  20. "selectValues": [
  21. crawler_plan_id
  22. ]
  23. }
  24. ],
  25. "pageNum": 1,
  26. "pageSize": 100,
  27. "contentModal": 4
  28. }
  29. resp = self.get_content_crawler_plan_list(params=params)
  30. if resp['code'] == 0 and resp['data']['data']:
  31. return "", resp['data']['data'][0]
  32. else:
  33. return resp['msg'], {}
  34. def get_content_crawler_plan_list(self, params: dict) -> dict:
  35. url = f"{self.base_url}/aigc/crawler/plan/list/contentCrawlerPlan"
  36. return self.post(url, params)
  37. def crawler_plan_save(self, params: dict):
  38. url = f"{self.base_url}/aigc/crawler/plan/save"
  39. return self.post(url, params)
  40. def post(self, url: str, params: dict) -> dict:
  41. request_param = {
  42. "params": params,
  43. "baseInfo": {
  44. "token": self.token,
  45. }
  46. }
  47. print(f"invoke aigc platform url: {url} request: {json.dumps(request_param)}")
  48. response = requests.post(url, json=request_param)
  49. print(f"invoke aigc platform url: {url} request: {json.dumps(request_param)} response: {response.json()}")
  50. return response.json()