| 
					
				 | 
			
			
				@@ -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 
			 |