""" @author: luojunhui """ # encoding: utf-8 """ @author: luojunhui """ import time import requests class AskForInfo: """ Ask user to enter their info """ def __init__(self, params): self.params = params self.base_url = "http://localhost:8111" async def search_request(self): """ 请求下载外部视频 :return: """ url = "{}/title_to_search".format(self.base_url) body = { "title": self.params["title"], "content": self.params['content'], "ghId": self.params["ghId"] } res = requests.post(url, json=body, timeout=120) return res.json() async def check_out_videos(self, trace_id): """ :return: """ url = "{}/out_videos".format(self.base_url) body = { "traceId": trace_id } res = requests.post(url, json=body, timeout=120) return res.json() async def ask_for_info(self, res_obj, kt): """ :param kt: :param res_obj: :return: """ traceId = res_obj["trace_id"] video_list = res_obj["video_list"] url = "{}/find_video".format(self.base_url) body = { "accountName": self.params['accountName'], "content": self.params['content'], "cover": self.params['cover'], "ghId": self.params['ghId'], "title": self.params['title'], "traceId": traceId, "kimi_title": kt, "videoList": video_list } res = requests.post(url, json=body, timeout=120) return res.json() async def schedule(self): """ :return: """ a = time.time() res = await self.search_request() b = time.time() print("search_time:\t", b - a) if res['code'] == 0: trace_id = res["trace_id"] kimi_title = res['kimi_title'] video_id = res['search_video_id'] video_url = res['video_url'] res_obj = { "search_videos": "success" if video_id else "fail", "trace_id": trace_id, "video_list": [video_id] if video_id else [], "video_url": [video_url] if video_url else "" } time.sleep(2) final_obj = await self.ask_for_info(res_obj=res_obj, kt=kimi_title) e = time.time() print("Rank and Return Time:\t", e - b - 2) if final_obj['videoUrl']: return final_obj else: final_obj["videoUrl"] = video_url return final_obj elif res['code'] == 1: return { "Error": res['message'] } else: return { "Error": "Unknown Error" }