From 3b78a9868d162e54e6fffa9ee58460233dc9726a Mon Sep 17 00:00:00 2001 From: Simon Date: Mon, 17 Feb 2025 17:38:29 +0700 Subject: [PATCH] serialize subtitles and playlists to empty list --- backend/common/src/search_processor.py | 5 +++++ backend/video/serializers.py | 6 ++---- frontend/src/pages/Home.tsx | 2 +- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/backend/common/src/search_processor.py b/backend/common/src/search_processor.py index a5669852..714d33b0 100644 --- a/backend/common/src/search_processor.py +++ b/backend/common/src/search_processor.py @@ -115,6 +115,8 @@ class SearchProcess: video_dict["subtitles"][idx][ "media_url" ] = f"{media_root}/{url}" + else: + video_dict["subtitles"] = [] video_dict.update( { @@ -138,6 +140,9 @@ class SearchProcess: } ) + if "playlist" not in video_dict: + video_dict["playlist"] = [] + return dict(sorted(video_dict.items())) @staticmethod diff --git a/backend/video/serializers.py b/backend/video/serializers.py index 83ba8b36..1efdb3c2 100644 --- a/backend/video/serializers.py +++ b/backend/video/serializers.py @@ -81,14 +81,12 @@ class VideoSerializer(serializers.Serializer): media_size = serializers.IntegerField() media_url = serializers.CharField() player = PlayerSerializer() - playlist = serializers.ListField( - child=serializers.CharField(), allow_null=True - ) + playlist = serializers.ListField(child=serializers.CharField()) published = serializers.CharField() sponsorblock = SponsorBlockSerializer(allow_null=True) stats = StatsSerializer() streams = StreamItemSerializer(many=True) - subtitles = SubtitleItemSerializer(many=True, allow_null=True) + subtitles = SubtitleItemSerializer(many=True) tags = serializers.ListField(child=serializers.CharField()) title = serializers.CharField() vid_last_refresh = serializers.CharField() diff --git a/frontend/src/pages/Home.tsx b/frontend/src/pages/Home.tsx index b8e4b58e..14e94bca 100644 --- a/frontend/src/pages/Home.tsx +++ b/frontend/src/pages/Home.tsx @@ -60,7 +60,7 @@ export type VideoType = { player: PlayerType; published: string; sponsorblock?: SponsorBlockType; - playlist?: string[]; + playlist: string[]; stats: StatsType; streams: StreamType[]; subtitles: Subtitles[];