From 772579c24132581c7b05296a973073c2b3442353 Mon Sep 17 00:00:00 2001 From: JohnserfSeed Date: Thu, 27 Jun 2024 23:56:08 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8Ddouyin=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E6=9B=B4=E6=96=B0=E5=AF=BC=E8=87=B4=E7=9A=84=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=E5=99=A8=E5=A4=B1=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- f2/apps/douyin/filter.py | 54 ++++++++++++++++++++-------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/f2/apps/douyin/filter.py b/f2/apps/douyin/filter.py index a90d78c..6b10926 100644 --- a/f2/apps/douyin/filter.py +++ b/f2/apps/douyin/filter.py @@ -245,18 +245,19 @@ def video_play_addr(self): def video_bit_rate(self): bit_rate_data = self._get_list_attr_value("$.aweme_list[*].video.bit_rate") - return [ - ( - [aweme["bit_rate"]] - if isinstance(aweme, dict) - else ( - [aweme[0]["bit_rate"]] - if len(aweme) == 1 - else [item["bit_rate"] for item in aweme] - ) - ) - for aweme in bit_rate_data - ] + def extract_bit_rate(aweme): + if not aweme: + return [] + + if isinstance(aweme, dict): + return [aweme.get("bit_rate", 0)] + + if isinstance(aweme, list): + return [item.get("bit_rate", 0) for item in aweme] + + return [] + + return [extract_bit_rate(aweme) for aweme in bit_rate_data] @property def video_duration(self): @@ -1388,22 +1389,21 @@ def cover(self): @property def video_bit_rate(self): - bit_rate_data = self._get_list_attr_value( - "$.aweme_detail.video.bit_rate", - ) + bit_rate_data = self._get_list_attr_value("$.aweme_detail.video.bit_rate") - return [ - ( - [aweme["bit_rate"]] - if isinstance(aweme, dict) - else ( - [aweme[0]["bit_rate"]] - if len(aweme) == 1 - else [item["bit_rate"] for item in aweme] - ) - ) - for aweme in bit_rate_data - ] + def extract_bit_rate(aweme): + if not aweme: + return [] + + if isinstance(aweme, dict): + return [aweme.get("bit_rate", 0)] + + if isinstance(aweme, list): + return [item.get("bit_rate", 0) for item in aweme] + + return [] + + return [extract_bit_rate(aweme) for aweme in bit_rate_data] @property def video_play_addr(self):