2018-07-31 19:51:39 +00:00
|
|
|
from django.conf import settings
|
|
|
|
|
from rest_framework import serializers
|
|
|
|
|
|
|
|
|
|
from .exceptions import FileExtensionError, TooLargeFile
|
|
|
|
|
from .models import Video
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class VideoSerializer(serializers.ModelSerializer):
|
|
|
|
|
class Meta:
|
|
|
|
|
model = Video
|
2018-08-20 23:00:22 +00:00
|
|
|
fields = ("file", "timestamp")
|
2018-07-31 19:51:39 +00:00
|
|
|
|
|
|
|
|
def validate(self, attrs):
|
2018-08-20 23:00:22 +00:00
|
|
|
file = attrs.get("file")
|
|
|
|
|
if file.name.split(".")[-1] not in settings.PERMITTED_VIDEO_EXTENSIONS:
|
2018-07-31 19:51:39 +00:00
|
|
|
raise FileExtensionError
|
|
|
|
|
if file.size > settings.MAX_FILE_SIZE:
|
|
|
|
|
raise TooLargeFile
|
|
|
|
|
return attrs
|