-
- def __init__(self, format_name, *args, **kwargs):
- super(EbookField, self).__init__(*args, **kwargs)
- self.format_name = format_name
+ ext = None
+ librarian2_api = False
+ ZIP = None
+
+ def __init__(self, verbose_name_=None, with_etag=True, etag_field_name=None, **kwargs):
+ # This is just for compatibility with older migrations,
+ # where first argument was for ebook format.
+ # Can be scrapped if old migrations are updated/removed.
+ verbose_name = verbose_name_ or _("%s file") % self.ext
+ kwargs.setdefault('verbose_name', verbose_name_ )
+
+ # Another compatibility fix:
+ # old migrations use EbookField directly, creating etag fields.
+ if type(self) is EbookField:
+ with_etag = False
+
+ self.with_etag = with_etag
+ self.etag_field_name = etag_field_name
+ kwargs.setdefault('max_length', 255)
+ kwargs.setdefault('blank', True)
+ kwargs.setdefault('default', '')
+ kwargs.setdefault('upload_to', self.get_upload_to(self.ext))
+
+ super().__init__(**kwargs)