validate DownloadItemSerializer for video to add to queue
This commit is contained in:
parent
ac97e90047
commit
c02ec7e82e
|
|
@ -10,13 +10,15 @@ from video.src.constants import VideoTypeEnum
|
|||
class DownloadItemSerializer(serializers.Serializer):
|
||||
"""serialize download item"""
|
||||
|
||||
auto_start = serializers.BooleanField()
|
||||
auto_start = serializers.BooleanField(required=False)
|
||||
channel_id = serializers.CharField()
|
||||
channel_indexed = serializers.BooleanField()
|
||||
channel_name = serializers.CharField()
|
||||
duration = serializers.CharField()
|
||||
published = serializers.CharField(allow_null=True)
|
||||
status = serializers.ChoiceField(choices=["pending", "ignore"])
|
||||
status = serializers.ChoiceField(
|
||||
choices=["pending", "ignore"], required=False
|
||||
)
|
||||
timestamp = serializers.IntegerField(allow_null=True)
|
||||
title = serializers.CharField()
|
||||
vid_thumb_url = serializers.CharField(allow_null=True)
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ from common.src.helper import (
|
|||
rand_sleep,
|
||||
)
|
||||
from common.src.urlparser import ParsedURLType
|
||||
from download.serializers import DownloadItemSerializer
|
||||
from download.src.queue_interact import PendingInteract
|
||||
from download.src.thumbnails import ThumbManager
|
||||
from playlist.src.index import YoutubePlaylist
|
||||
|
|
@ -379,6 +380,12 @@ class PendingList(PendingIndex):
|
|||
"channel_id": video_data["channel_id"],
|
||||
"channel_indexed": video_data["channel_id"] in self.all_channels,
|
||||
}
|
||||
serializer = DownloadItemSerializer(data=to_add)
|
||||
is_valid = serializer.is_valid()
|
||||
if not is_valid:
|
||||
print(f"{youtube_id}: serializer failed: {serializer.errors}")
|
||||
self._notify_fail(403, youtube_id)
|
||||
return None
|
||||
|
||||
return to_add
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue