Changeset 4918
- Timestamp:
- 04/04/07 01:34:19 (2 years ago)
- Files:
-
- django/trunk/django/contrib/localflavor/br/forms.py (modified) (1 diff)
- django/trunk/django/contrib/localflavor/fr/forms.py (modified) (1 diff)
- django/trunk/django/contrib/localflavor/it/forms.py (modified) (1 diff)
- django/trunk/django/contrib/localflavor/usa/forms.py (modified) (2 diffs)
- django/trunk/django/newforms/fields.py (modified) (1 diff)
- django/trunk/django/newforms/forms.py (modified) (1 diff)
- django/trunk/django/newforms/util.py (modified) (1 diff)
- django/trunk/django/newforms/widgets.py (modified) (1 diff)
- django/trunk/django/utils/encoding.py (added)
- django/trunk/tests/regressiontests/forms/tests.py (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/trunk/django/contrib/localflavor/br/forms.py
r4908 r4918 6 6 from django.newforms import ValidationError 7 7 from django.newforms.fields import Field, RegexField, Select, EMPTY_VALUES 8 from django. newforms.utilimport smart_unicode8 from django.utils.encoding import smart_unicode 9 9 from django.utils.translation import gettext 10 10 import re django/trunk/django/contrib/localflavor/fr/forms.py
r4820 r4918 5 5 from django.newforms import ValidationError 6 6 from django.newforms.fields import Field, RegexField, Select, EMPTY_VALUES 7 from django. newforms.utilimport smart_unicode7 from django.utils.encoding import smart_unicode 8 8 from django.utils.translation import gettext 9 9 import re django/trunk/django/contrib/localflavor/it/forms.py
r4862 r4918 5 5 from django.newforms import ValidationError 6 6 from django.newforms.fields import Field, RegexField, Select, EMPTY_VALUES 7 from django.newforms.util import smart_unicode8 7 from django.utils.translation import gettext 9 8 import re django/trunk/django/contrib/localflavor/usa/forms.py
r4917 r4918 5 5 from django.newforms import ValidationError 6 6 from django.newforms.fields import Field, RegexField, Select, EMPTY_VALUES 7 from django. newforms.utilimport smart_unicode7 from django.utils.encoding import smart_unicode 8 8 from django.utils.translation import gettext 9 9 import re … … 33 33 """ 34 34 A United States Social Security number. 35 35 36 36 Checks the following rules to determine whether the number is valid: 37 37 38 38 * Conforms to the XXX-XX-XXXX format. 39 39 * No group consists entirely of zeroes. django/trunk/django/newforms/fields.py
r4889 r4918 4 4 5 5 from django.utils.translation import gettext 6 from util import ErrorList, ValidationError, smart_unicode 6 from django.utils.encoding import smart_unicode 7 from util import ErrorList, ValidationError 7 8 from widgets import TextInput, PasswordInput, HiddenInput, MultipleHiddenInput, CheckboxInput, Select, NullBooleanSelect, SelectMultiple 8 9 import datetime django/trunk/django/newforms/forms.py
r4544 r4918 5 5 from django.utils.datastructures import SortedDict, MultiValueDict 6 6 from django.utils.html import escape 7 from django.utils.encoding import StrAndUnicode 7 8 from fields import Field 8 9 from widgets import TextInput, Textarea, HiddenInput, MultipleHiddenInput 9 from util import flatatt, StrAndUnicode,ErrorDict, ErrorList, ValidationError10 from util import flatatt, ErrorDict, ErrorList, ValidationError 10 11 import copy 11 12 django/trunk/django/newforms/util.py
r4904 r4918 2 2 from django.utils.html import escape 3 3 from django.utils.functional import Promise, lazy 4 from django.utils.encoding import smart_unicode 4 5 5 6 # Converts a dictionary to a single string with key="value", XML-style with 6 7 # a leading space. Assumes keys do not need to be XML-escaped. 7 8 flatatt = lambda attrs: u''.join([u' %s="%s"' % (k, escape(v)) for k, v in attrs.items()]) 8 9 def smart_unicode(s):10 if isinstance(s, Promise):11 # The input is something from gettext_lazy or similar. We don't want to12 # translate it until render time, so defer the conversion.13 return smart_unicode_lazy(s)14 else:15 return smart_unicode_immediate(s)16 17 def smart_unicode_immediate(s):18 if not isinstance(s, basestring):19 if hasattr(s, '__unicode__'):20 s = unicode(s)21 else:22 s = unicode(str(s), settings.DEFAULT_CHARSET)23 elif not isinstance(s, unicode):24 s = unicode(s, settings.DEFAULT_CHARSET)25 return s26 27 smart_unicode_lazy = lazy(smart_unicode_immediate, unicode)28 29 class StrAndUnicode(object):30 """31 A class whose __str__ returns its __unicode__ as a bytestring32 according to settings.DEFAULT_CHARSET.33 34 Useful as a mix-in.35 """36 def __str__(self):37 return self.__unicode__().encode(settings.DEFAULT_CHARSET)38 9 39 10 class ErrorDict(dict): django/trunk/django/newforms/widgets.py
r4894 r4918 10 10 ) 11 11 12 from util import flatatt , StrAndUnicode, smart_unicode12 from util import flatatt 13 13 from django.utils.datastructures import MultiValueDict 14 14 from django.utils.html import escape 15 15 from django.utils.translation import gettext 16 from django.utils.encoding import StrAndUnicode, smart_unicode 16 17 from itertools import chain 17 18 django/trunk/tests/regressiontests/forms/tests.py
r4894 r4918 3277 3277 3278 3278 # smart_unicode tests 3279 >>> from django. newforms.utilimport smart_unicode3279 >>> from django.utils.encoding import smart_unicode 3280 3280 >>> class Test: 3281 3281 ... def __str__(self):
