main_schedule.py 2.6 KB

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