123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- """
- @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"
- }
|