1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- import sys
- sys.path.append("..")
- import recommend
- import category
- import json
- import ast
- import aiocache
- import traceback
- from log import Log
- from config import set_config
- import time
- log_ = Log()
- config_ = set_config()
- class HomepageRecommend:
- async def on_post(self, req, resp):
- try:
- start_time = time.time()
-
- request_data = await req.stream.read()
- request_data = json.loads(request_data)
- mid = request_data.get('mid')
- uid = request_data.get('uid')
- category_id = request_data.get('categoryId')
- size = request_data.get('size')
- app_type = request_data.get('appType')
- algo_type = request_data.get('algoType')
- log_.info('request data: {}'.format(request_data))
- # size默认为10
- if not size:
- size = 10
- if category_id in config_.CATEGORY['recommend']:
- # 推荐
- videos = await recommend.video_recommend(mid=mid, uid=uid, size=size, app_type=app_type, algo_type=algo_type)
- result = {'code': 200, 'message': 'success', 'data': {'videos': videos}}
- log_.info('category_id: {}, mid: {}, uid: {}, result: {}, execute time = {}ms'.format(
- category_id, mid, uid, result, (time.time() - start_time)*1000))
-
- resp.text = json.dumps(result)
- return
- elif category_id in config_.CATEGORY['other']:
- # 其他类别
- videos = category.get_category_videos()
- result = {'code': 200, 'message': 'success', 'data': {'videos': videos}}
- log_.info('category_id: {}, mid: {}, uid: {}, result: {}, execute time = {}ms'.format(
- category_id, mid, uid, result, (time.time() - start_time) * 1000))
-
- resp.text = json.dumps(result)
- return
- else:
- log_.error('categoryId error, categoryId = {}'.format(category_id))
- result = {'code': -1, 'message': 'fail'}
-
- resp.text = json.dumps(result)
- return
- except:
- traceback.print_exc()
- log_.error(e)
- result = {'code': -1, 'message': traceback.format_exc()}
- resp.text = json.dumps(result)
- return
|