main_schedule.py 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. """
  2. @author: luojunhui
  3. """
  4. # encoding: utf-8
  5. """
  6. @author: luojunhui
  7. """
  8. import time
  9. import requests
  10. class AskForInfo:
  11. """
  12. Ask user to enter their info
  13. """
  14. def __init__(self, params):
  15. self.params = params
  16. self.base_url = "http://localhost:8111"
  17. def search_request(self):
  18. """
  19. 请求下载外部视频
  20. :return:
  21. """
  22. url = "{}/title_to_search".format(self.base_url)
  23. body = {
  24. "title": self.params["title"],
  25. "ghId": self.params["ghId"]
  26. }
  27. res = requests.post(url, json=body, timeout=120)
  28. return res.json()
  29. def check_out_videos(self, trace_id):
  30. """
  31. :return:
  32. """
  33. url = "{}/out_videos".format(self.base_url)
  34. body = {
  35. "traceId": trace_id
  36. }
  37. res = requests.post(url, json=body, timeout=120)
  38. return res.json()
  39. def ask_for_info(self, res_obj, kt):
  40. """
  41. :param kt:
  42. :param res_obj:
  43. :return:
  44. """
  45. traceId = res_obj["trace_id"]
  46. video_list = res_obj["video_list"]
  47. url = "{}/find_video".format(self.base_url)
  48. body = {
  49. "accountName": self.params['accountName'],
  50. "content": self.params['content'],
  51. "cover": self.params['cover'],
  52. "ghId": self.params['ghId'],
  53. "title": self.params['title'],
  54. "traceId": traceId,
  55. "kimi_title": kt,
  56. "videoList": video_list
  57. }
  58. res = requests.post(url, json=body, timeout=120)
  59. return res.json()
  60. def schedule(self):
  61. """
  62. :return:
  63. """
  64. a = time.time()
  65. res = self.search_request()
  66. b = time.time()
  67. print("search_time")
  68. print(b - a)
  69. if res['code'] == 0:
  70. trace_id = res["trace_id"]
  71. kimi_title = res['kimi_title']
  72. c = time.time()
  73. res_obj = self.check_out_videos(trace_id=trace_id)
  74. d = time.time()
  75. print("recall time")
  76. print(d - c)
  77. time.sleep(2)
  78. final_obj = self.ask_for_info(res_obj=res_obj, kt=kimi_title)
  79. e = time.time()
  80. print("ask time")
  81. print(e - d)
  82. return final_obj
  83. elif res['code'] == 1:
  84. return {
  85. "Error": res['message']
  86. }
  87. else:
  88. return {
  89. "Error": "Unknown Error"
  90. }