15 lines
550 B
Python
15 lines
550 B
Python
import zipfile
|
|
from django import forms
|
|
from django.utils.translation import ugettext_lazy as _
|
|
from django.template.defaultfilters import filesizeformat
|
|
|
|
class EpubFileField(forms.FileField):
|
|
"""
|
|
does some epub checking; currently only checks its a zip:
|
|
"""
|
|
def clean(self, data, initial=None):
|
|
data = super(EpubFileField, self).clean(data, initial)
|
|
if data.name and not zipfile.is_zipfile(data.file):
|
|
raise forms.ValidationError(_('%s is not a valid EPUB file' % data.name) )
|
|
return data
|