mirror of
https://github.com/Hopiu/django-markdownx.git
synced 2026-03-16 21:40:24 +00:00
60 lines
1.8 KiB
Python
60 lines
1.8 KiB
Python
from django.utils.translation import gettext_lazy as _
|
|
from django.forms import ValidationError
|
|
|
|
|
|
class MarkdownxImageUploadError(ValidationError):
|
|
"""
|
|
Custom **MarkdownX** exceptions.
|
|
"""
|
|
|
|
@classmethod
|
|
def not_uploaded(cls):
|
|
"""
|
|
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 cls(_('No files have been uploaded.'))
|
|
|
|
@classmethod
|
|
def unsupported_format(cls):
|
|
"""
|
|
|
|
The file is of a format not defined in :guilabel:`settings.py`
|
|
or if default, in :guilabel:`markdownx/settings.py`.
|
|
|
|
:return: Locale compatible version of the error with the following message:
|
|
|
|
- File type is not supported.
|
|
|
|
:rtype: MarkdownxImageUploadError
|
|
"""
|
|
return cls(_('File type is not supported.'))
|
|
|
|
@classmethod
|
|
def invalid_size(cls, 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 cls(
|
|
_('Please keep file size under %(max)s. Current file size: %(current)s.') % {
|
|
'max': filesizeformat(expected),
|
|
'current': filesizeformat(current)
|
|
}
|
|
)
|