From ef97e01dbacfab41f451f49a147b01f4598698cd Mon Sep 17 00:00:00 2001 From: ihmily <114978440+ihmily@users.noreply.github.com> Date: Wed, 5 Feb 2025 20:52:36 +0800 Subject: [PATCH] refactor: update quality map --- streamget/stream.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/streamget/stream.py b/streamget/stream.py index 9240ee8..ae76922 100644 --- a/streamget/stream.py +++ b/streamget/stream.py @@ -159,7 +159,11 @@ def get_kuaishou_stream_url(json_data: dict, video_quality: str) -> dict: flv_url_list = json_data['flv_url_list'] flv_url_list = sorted(flv_url_list, key=lambda x: x['bitrate'], reverse=True) # uses quality_mapping_bitrate to get the index of the quality - quality_index_bitrate_value = quality_mapping_bitrate[video_quality] + quality_str = str(video_quality).upper() + if quality_str.isdigit(): + quality_index_bitrate_value = list(quality_mapping_bitrate.values())[int(quality_str)] + else: + quality_index_bitrate_value = quality_mapping_bitrate.get(quality_str, 99999) # find the value below `quality_index_bitrate_value`, or else use the previous one. quality_index = next( (i for i, x in enumerate(flv_url_list) if x['bitrate'] <= quality_index_bitrate_value), None)