django-fobi/src/fobi/form_utils.py

42 lines
1 KiB
Python
Raw Normal View History

2016-09-19 14:36:03 +00:00
from django.utils.encoding import force_text
from nine.versions import DJANGO_GTE_1_7
__title__ = 'fobi.form_utils'
__author__ = 'Artur Barseghyan <artur.barseghyan@gmail.com>'
2016-09-19 14:36:03 +00:00
__copyright__ = '2014-2016 Artur Barseghyan'
__license__ = 'GPL 2.0/LGPL 2.1'
__all__ = (
'ErrorDict', 'ErrorList',
)
if DJANGO_GTE_1_7:
from django.forms.utils import (
ErrorDict as DjangoErrorDict, ErrorList as DjangoErrorList
)
else:
from django.forms.util import (
ErrorDict as DjangoErrorDict, ErrorList as DjangoErrorList
)
2015-12-22 22:59:44 +00:00
class ErrorDict(DjangoErrorDict):
2016-09-19 14:36:03 +00:00
"""A better ErrorDict."""
def as_text(self):
2016-09-19 14:36:03 +00:00
"""As text."""
return '\n'.join(
2016-09-19 14:36:03 +00:00
[' %s\n%s' % (k, '\n'.join([' %s' % force_text(i) for i in v]))
for k, v in self.items()]
2016-09-19 14:36:03 +00:00
)
2015-12-22 22:59:44 +00:00
class ErrorList(DjangoErrorList):
2016-09-19 14:36:03 +00:00
"""A better ErrorList."""
def as_text(self):
2016-09-19 14:36:03 +00:00
"""As text."""
if not self:
return ''
return '\n'.join([' %s' % force_text(e) for e in self])