summaryrefslogtreecommitdiff
path: root/django/forms/__init__.py
diff options
context:
space:
mode:
authorMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2006-07-05 07:09:53 +0000
committerMalcolm Tredinnick <malcolm.tredinnick@gmail.com>2006-07-05 07:09:53 +0000
commitc2556874d4d3e2631b082f567d28cc1d1e1dfee1 (patch)
tree35ee93e9e319cd343da59a8f889ca2492af2eb2e /django/forms/__init__.py
parent5404e6e93bd46abb1b55bebfe23f2cdbeb373c93 (diff)
Fixed #1980, #2155 -- made date, time and datetime html2python methods a bit
more consistent in their return values. All three now return None when the passed in string cannot be converted to the required object (this is assumed elsewhere). git-svn-id: http://code.djangoproject.com/svn/django/trunk@3277 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'django/forms/__init__.py')
-rw-r--r--django/forms/__init__.py23
1 files changed, 13 insertions, 10 deletions
diff --git a/django/forms/__init__.py b/django/forms/__init__.py
index 1e9cb2c596..4907bd76f7 100644
--- a/django/forms/__init__.py
+++ b/django/forms/__init__.py
@@ -773,15 +773,18 @@ class DatetimeField(TextField):
def html2python(data):
"Converts the field into a datetime.datetime object"
import datetime
- date, time = data.split()
- y, m, d = date.split('-')
- timebits = time.split(':')
- h, mn = timebits[:2]
- if len(timebits) > 2:
- s = int(timebits[2])
- else:
- s = 0
- return datetime.datetime(int(y), int(m), int(d), int(h), int(mn), s)
+ try:
+ date, time = data.split()
+ y, m, d = date.split('-')
+ timebits = time.split(':')
+ h, mn = timebits[:2]
+ if len(timebits) > 2:
+ s = int(timebits[2])
+ else:
+ s = 0
+ return datetime.datetime(int(y), int(m), int(d), int(h), int(mn), s)
+ except ValueError:
+ return None
html2python = staticmethod(html2python)
class DateField(TextField):
@@ -806,7 +809,7 @@ class DateField(TextField):
time_tuple = time.strptime(data, '%Y-%m-%d')
return datetime.date(*time_tuple[0:3])
except (ValueError, TypeError):
- return data
+ return None
html2python = staticmethod(html2python)
class TimeField(TextField):