re_search_deal.py 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. """
  2. @author: luojunhui
  3. """
  4. import json
  5. import asyncio
  6. from applications.schedule import re_search_videos
  7. class ReSearchDeal(object):
  8. """
  9. 重新搜索逻辑
  10. obj = {
  11. "ori_title": params['title'],
  12. "content_title": params['kimi_summary'],
  13. "content_keys": params['kimi_keys'],
  14. "trace_id": params['trace_id']
  15. }
  16. """
  17. def __init__(self, params):
  18. self.gh_id = None
  19. self.trace_id = None
  20. self.kimi_keys = None
  21. self.kimi_summary = None
  22. self.title = None
  23. self.params = params
  24. def check_params(self):
  25. """
  26. check params
  27. :return:
  28. """
  29. try:
  30. self.title = self.params['title']
  31. self.kimi_summary = self.params['kimi_summary']
  32. self.kimi_keys = json.loads(self.params['kimi_keys'])
  33. self.trace_id = self.params['trace_id']
  34. self.gh_id = self.params['ghId']
  35. return None
  36. except AttributeError as e:
  37. result = {
  38. "status": "fail",
  39. "code": 1,
  40. "message": str(e),
  41. "info": "params check error"
  42. }
  43. return result
  44. async def deal(self):
  45. """
  46. research function deal
  47. :return:
  48. """
  49. params_error = self.check_params()
  50. if params_error:
  51. return params_error
  52. else:
  53. try:
  54. asyncio.ensure_future(
  55. re_search_videos(
  56. self.params,
  57. self.trace_id,
  58. self.gh_id)
  59. )
  60. res = {
  61. "status": "success",
  62. "code": 0,
  63. "traceId": self.trace_id
  64. }
  65. return res
  66. except Exception as e:
  67. res = {
  68. "status": "fail",
  69. "code": 1,
  70. "message": str(e)
  71. }
  72. return res