浏览代码

只针对level1的通过裂变率重拍

luojunhui 5 月之前
父节点
当前提交
ef423453c9
共有 1 个文件被更改,包括 16 次插入14 次删除
  1. 16 14
      tasks/history_task.py

+ 16 - 14
tasks/history_task.py

@@ -170,20 +170,22 @@ class historyContentIdTask(object):
                     config=self.config,
                     content_id=content_id
                 )
-                fission_list = [[i] + [fission_dict[i]['fission_0_on_read']] for i in fission_dict.keys()]
-                sorted_fission_list = sorted(fission_list, key=lambda x: x[1], reverse=True)
-                download_videos_with_fission_info = []
-                for index, video in enumerate(download_videos[:3]):
-                    video['video_oss_path'] = sorted_fission_list[index][0]
-                    video["fission_0_on_read"] = sorted_fission_list[index][1]
-                    download_videos_with_fission_info.append(video)
-                # for video in download_videos:
-                #     video["fission_0_rate"] = fission_dict.get(video['video_oss_path'], {}).get("fission_0_rate", 0)
-                #     video["fission_0_on_read"] = fission_dict.get(video['video_oss_path'], {}).get("fission_0_on_read", 0)
-                #     download_videos_with_fission_info.append(video)
-                # sorted_videos = sorted(download_videos_with_fission_info, key=lambda x: x['fission_0_rate'], reverse=True)
-                # sorted_videos = sorted(download_videos_with_fission_info, key=lambda x: x['fission_0_on_read'], reverse=True)
-                video_list = download_videos_with_fission_info
+                if fission_dict:
+                    fission_list = [[i] + [fission_dict[i]['fission_0_on_read']] for i in fission_dict.keys()]
+                    sorted_fission_list = sorted(fission_list, key=lambda x: x[1], reverse=True)
+                    download_videos_with_fission_info = []
+                    for index, video in enumerate(download_videos[:3]):
+                        # 使用fission_list中的oss路径替换, 若替换失败则使用原来的视频
+                        try:
+                            video['video_oss_path'] = sorted_fission_list[index][0]
+                            video["fission_0_on_read"] = sorted_fission_list[index][1]
+                        except IndexError:
+                            continue
+                        download_videos_with_fission_info.append(video)
+                    video_list = download_videos_with_fission_info
+                else:
+                    # 未找到裂变信息,采用原来的顺序
+                    video_list = download_videos[:3]
             case _:
                 print("未传流量池信息")
                 video_list = download_videos[:3]