import sys sys.path.append("..") import json import ast import aiocache import traceback from log import Log log_ = Log() class AppHotlist: async def on_post(self, req, resp): try: page_size= 10 request_data = await req.stream.read() request_data = json.loads(request_data) page = request_data.get('page', 0) log_.info('request data: {}'.format(request_data)) datas = await aiocache.get('app_video_hot_list') if datas is None or len(datas) == 0: result = {'code': -1, 'message': 'no data'} log_.info('result: {}'.format(result)) resp.text = json.dumps(result) return # datas = ast.literal.eval(datas) datas = eval(datas) total_page = int(len(datas)/page_size) if page > total_page -1 : result = {'code': -1, 'message': 'page exceed max'} log_.info('result: {}'.format(result)) resp.text = json.dumps(result) return result = {'code': 200, 'message': '', 'data':{'total_page':total_page, 'hot_list':datas[page*page_size:page*page_size+page_size]}} log_.info('result: {}'.format(result)) resp.text = json.dumps(result) return except: print(traceback.format_exc()) log_.error(e) result = {'code': -1, 'message': 'fail'} resp.text = json.dumps(result) return