main_schedule.py 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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://61.48.133.26: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. res = self.search_request()
  65. if res['code'] == 0:
  66. trace_id = res["trace_id"]
  67. kimi_title = res['kimi_title']
  68. res_obj = self.check_out_videos(trace_id=trace_id)
  69. time.sleep(3)
  70. final_obj = self.ask_for_info(res_obj=res_obj, kt=kimi_title)
  71. return final_obj
  72. elif res['code'] == 1:
  73. return {
  74. "Error": res['message']
  75. }
  76. else:
  77. return {
  78. "Error": "Unknown Error"
  79. }