File size: 960 Bytes
090987a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
from rest_framework import serializers
class TranscriptionRequestSerializer(serializers.Serializer):
url = serializers.URLField(required=False, allow_null=True)
media = serializers.FileField(required=False, allow_null=True)
def validate(self, attrs):
url = attrs.get('url')
media = attrs.get('media')
if not url and not media:
raise serializers.ValidationError("Either 'url' or 'media' must be provided.")
return attrs
def validate_media(self, file):
if file is None:
return file
allowed_types = ['audio/', 'video/']
content_type = getattr(file, 'content_type', '')
if not any(content_type.startswith(t) for t in allowed_types):
raise serializers.ValidationError("Only audio or video files are allowed.")
return file
class ClassificationRequestSerializer(serializers.Serializer):
claim = serializers.CharField()
|