|
@@ -2864,3 +2864,49 @@ class PoolRecall(object):
|
|
|
recall_result.append(recall_dict[vid])
|
|
|
#print("u2i recall_result:", recall_result)
|
|
|
return recall_result
|
|
|
+
|
|
|
+ def get_play_reall(self, mid, exp_config=None):
|
|
|
+ #recall_key = "hot_video:"
|
|
|
+ if not mid:
|
|
|
+ return []
|
|
|
+ recall_key = "u2i_play:"+mid
|
|
|
+ #print("recall_key:", recall_key)
|
|
|
+ data = self.redis_helper.get_data_from_redis(key_name=recall_key)
|
|
|
+
|
|
|
+ #print(data)
|
|
|
+ recall_result = []
|
|
|
+ recall_dict = {}
|
|
|
+ video_ids = []
|
|
|
+ if data is not None and data!="":
|
|
|
+ try:
|
|
|
+ json_result = json.loads(data)
|
|
|
+ for per_item in json_result:
|
|
|
+ vid = int(per_item[0])
|
|
|
+ video_ids.append(vid)
|
|
|
+ recall_dict[vid] = {'videoId': vid, 'flowPool': '',
|
|
|
+ 'rovScore': float(per_item[1]), 'pushFrom': config_.PUSH_FROM['u2i_tag_recall'],
|
|
|
+ 'abCode': self.ab_code}
|
|
|
+ except Exception as e:
|
|
|
+ return recall_result
|
|
|
+ if len(video_ids)<=0:
|
|
|
+ return recall_result
|
|
|
+ recall_num = 20
|
|
|
+ try:
|
|
|
+ if exp_config and exp_config['recall_get_num']:
|
|
|
+ recall_num = int(exp_config['recall_get_num'])
|
|
|
+ except:
|
|
|
+ recall_num = 20
|
|
|
+ #print("recall_num:", recall_num)
|
|
|
+ video_ids = video_ids[:recall_num]
|
|
|
+ #print(video_ids)
|
|
|
+ filter_ = FilterVideos(request_id=self.request_id,
|
|
|
+ app_type=self.app_type, mid=self.mid, uid=self.uid, video_ids=video_ids)
|
|
|
+ filtered_viewed_videos = filter_.filter_videos_status(pool_type='normal')
|
|
|
+ if filtered_viewed_videos is None:
|
|
|
+ return recall_result
|
|
|
+ #print("filtered_viewed_videos:", filtered_viewed_videos)
|
|
|
+ for vid in filtered_viewed_videos:
|
|
|
+ if vid in recall_dict:
|
|
|
+ recall_result.append(recall_dict[vid])
|
|
|
+ #print("u2i recall_result:", recall_result)
|
|
|
+ return recall_result
|