From cbd574881c48e095b118031c850367f86b597a2e Mon Sep 17 00:00:00 2001 From: Jacob Kaplan-Moss Date: Mon, 25 Aug 2008 19:09:44 +0000 Subject: [PATCH] Updated `TimeInput` changes from [8491] to allow time widgets to be used with unicode values. Fixes #7499. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8549 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/forms/widgets.py | 3 ++- tests/regressiontests/forms/widgets.py | 4 ++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/django/forms/widgets.py b/django/forms/widgets.py index 2e01634571..4f4d912c04 100644 --- a/django/forms/widgets.py +++ b/django/forms/widgets.py @@ -16,6 +16,7 @@ from django.utils.translation import ugettext from django.utils.encoding import StrAndUnicode, force_unicode from django.utils.safestring import mark_safe from django.utils import datetime_safe +from datetime import time from util import flatatt from urlparse import urljoin @@ -307,7 +308,7 @@ class TimeInput(Input): def render(self, name, value, attrs=None): if value is None: value = '' - elif hasattr(value, 'replace'): + elif isinstance(value, time): value = value.replace(microsecond=0) return super(TimeInput, self).render(name, value, attrs) diff --git a/tests/regressiontests/forms/widgets.py b/tests/regressiontests/forms/widgets.py index e0d9f42db5..df0f5d6fd7 100644 --- a/tests/regressiontests/forms/widgets.py +++ b/tests/regressiontests/forms/widgets.py @@ -1104,5 +1104,9 @@ u'' u'' >>> w.render('time', datetime.time(12, 51)) u'' + +We should be able to initialize from a unicode value. +>>> w.render('time', u'13:12:11') +u'' """