from django.utils.translation import ugettext_lazy as _
from django.forms import ValidationError
[docs]class MarkdownxImageUploadError(ValidationError):
"""
Custom **MarkdownX** exceptions.
"""
@staticmethod
[docs] def not_uploaded():
"""
No file is available to upload.
:return: Locale compatible version of the error with the following message:
- No files have been uploaded.
:rtype: MarkdownxImageUploadError
"""
return MarkdownxImageUploadError(_('No files have been uploaded.'))
@staticmethod
@staticmethod
[docs] def invalid_size(current, expected):
"""
The file is larger in size that the maximum allow in :guilabel:`settings.py` (or the default).
:param current: Current size of the file.
:type current: float, int
:param expected: Expected (maximum permitted) size of the file.
:type expected: float, int
:return: Locale compatible version of the error with the following message:
- Please keep file size under %(max)s. Current file size: %(current)s.'
:rtype: MarkdownxImageUploadError
"""
from django.template.defaultfilters import filesizeformat
return MarkdownxImageUploadError(
_('Please keep file size under %(max)s. Current file size: %(current)s.') % {
'max': filesizeformat(expected),
'current': filesizeformat(current)
}
)