""" @author: luojunhui """ # encoding: utf-8 """ @author: luojunhui """ import time import asyncio 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") print(b - a) if res['code'] == 0: trace_id = res["trace_id"] kimi_title = res['kimi_title'] c = time.time() res_obj = await self.check_out_videos(trace_id=trace_id) d = time.time() print("recall time") print(d - c) 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") print(e - d - 2) return final_obj elif res['code'] == 1: return { "Error": res['message'] } else: return { "Error": "Unknown Error" }