app_hot_list.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import sys
  2. sys.path.append("..")
  3. import json
  4. import ast
  5. import aiocache
  6. import traceback
  7. from log import Log
  8. log_ = Log()
  9. class AppHotlist:
  10. async def on_post(self, req, resp):
  11. try:
  12. page_size= 10
  13. request_data = await req.stream.read()
  14. request_data = json.loads(request_data)
  15. page = request_data.get('page', 0)
  16. log_.info('request data: {}'.format(request_data))
  17. datas = await aiocache.get('app_video_hot_list')
  18. if datas is None or len(datas) == 0:
  19. result = {'code': -1, 'message': 'no data'}
  20. log_.info('result: {}'.format(result))
  21. resp.text = json.dumps(result)
  22. return
  23. # datas = ast.literal.eval(datas)
  24. datas = eval(datas)
  25. total_page = int(len(datas)/page_size)
  26. if page > total_page -1 :
  27. result = {'code': -1, 'message': 'page exceed max'}
  28. log_.info('result: {}'.format(result))
  29. resp.text = json.dumps(result)
  30. return
  31. result = {'code': 200, 'message': '', 'data':{'total_page':total_page, 'hot_list':datas[page*page_size:page*page_size+page_size]}}
  32. log_.info('result: {}'.format(result))
  33. resp.text = json.dumps(result)
  34. return
  35. except:
  36. print(traceback.format_exc())
  37. log_.error(e)
  38. result = {'code': -1, 'message': 'fail'}
  39. resp.text = json.dumps(result)
  40. return