single_video_deal.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. """
  2. @author: luojunhui
  3. """
  4. from applications.functions import request_for_info
  5. from applications.config import minigram_info
  6. class SingleVideo(object):
  7. """
  8. 返回单个视频信息
  9. """
  10. def __init__(self, params):
  11. self.video_id = None
  12. self.params = params
  13. def check_params(self):
  14. """
  15. check params
  16. :return:
  17. """
  18. try:
  19. self.video_id = self.params['videoId']
  20. return None
  21. except AttributeError as e:
  22. response = {
  23. "code": 0,
  24. "error": "Params Error",
  25. "msg": "Params: {} is not correct".format(e)
  26. }
  27. return response
  28. def deal(self):
  29. """
  30. deal function
  31. :return:
  32. """
  33. params_error = self.check_params()
  34. if params_error:
  35. return params_error
  36. else:
  37. response = request_for_info(video_id=self.video_id)['data'][0]
  38. title = response['title']
  39. video_url = response['videoPath']
  40. publish_time = response['gmtCreateTimestamp']
  41. # user_id = response['user']['uid']
  42. cover = response['shareImgPath']
  43. result = {
  44. "return": None,
  45. "rov": None,
  46. "view": None,
  47. "video_id": self.video_id,
  48. "title": title,
  49. "video_url": video_url,
  50. "publish_time": publish_time,
  51. "cover": cover,
  52. "video_text": None,
  53. "minigram_info": minigram_info
  54. }
  55. return result