AIGCClient.py 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  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 get_produce_plan_by_id(self, produce_plan_id: str) -> dict:
  41. url = f"{self.base_url}/aigc/produce/plan/detail"
  42. payload = {
  43. "id": produce_plan_id,
  44. }
  45. return self.post(url, params=payload)['data']
  46. def save_produce_plan(self, produce_plan: dict) -> dict:
  47. url = f"{self.base_url}/aigc/produce/plan/save"
  48. return self.post(url, params=produce_plan)
  49. def post(self, url: str, params: dict) -> dict:
  50. request_param = {
  51. "params": params,
  52. "baseInfo": {
  53. "token": self.token,
  54. }
  55. }
  56. print(f"invoke aigc platform url: {url} request: {json.dumps(request_param)}")
  57. response = requests.post(url, json=request_param)
  58. print(f"invoke aigc platform url: {url} request: {json.dumps(request_param)} response: {response.json()}")
  59. return response.json()