Author: ramiro
Date: 2011-06-10 11:43:29 -0700 (Fri, 10 Jun 2011)
New Revision: 16363

Modified:
   django/trunk/django/db/backends/oracle/base.py
   django/trunk/django/forms/fields.py
   django/trunk/django/forms/widgets.py
   django/trunk/django/views/generic/dates.py
   django/trunk/tests/regressiontests/forms/tests/extra.py
Log:
More removal of poorly legible constructs to workaround Python 2.4 shortcomings.

Modified: django/trunk/django/db/backends/oracle/base.py
===================================================================
--- django/trunk/django/db/backends/oracle/base.py      2011-06-10 16:19:56 UTC 
(rev 16362)
+++ django/trunk/django/db/backends/oracle/base.py      2011-06-10 18:43:29 UTC 
(rev 16363)
@@ -6,9 +6,8 @@
 
 
 import datetime
-import sys
-import time
 from decimal import Decimal
+import sys
 
 
 def _setup_environment(environ):
@@ -341,7 +340,7 @@
             return None
 
         if isinstance(value, basestring):
-            return datetime.datetime(*(time.strptime(value, '%H:%M:%S')[:6]))
+            return datetime.datetime.strptime(value, '%H:%M:%S')
 
         # Oracle doesn't support tz-aware datetimes
         if value.tzinfo is not None:

Modified: django/trunk/django/forms/fields.py
===================================================================
--- django/trunk/django/forms/fields.py 2011-06-10 16:19:56 UTC (rev 16362)
+++ django/trunk/django/forms/fields.py 2011-06-10 18:43:29 UTC (rev 16363)
@@ -6,9 +6,7 @@
 import datetime
 import os
 import re
-import time
 import urlparse
-import warnings
 from decimal import Decimal, DecimalException
 try:
     from cStringIO import StringIO
@@ -20,7 +18,6 @@
 from django.utils import formats
 from django.utils.translation import ugettext_lazy as _
 from django.utils.encoding import smart_unicode, smart_str, force_unicode
-from django.utils.functional import lazy
 
 # Provide this import for backwards compatibility.
 from django.core.validators import EMPTY_VALUES
@@ -344,7 +341,8 @@
                         try:
                             datetime_str, usecs_str = value.rsplit('.', 1)
                             usecs = int(usecs_str)
-                            return 
datetime.datetime(*time.strptime(datetime_str, format[:-3])[:6]+(usecs,))
+                            dt = datetime.datetime.strptime(datetime_str, 
format[:-3])
+                            return dt.replace(microsecond=usecs)
                         except ValueError:
                             continue
         raise ValidationError(self.error_messages['invalid'])
@@ -373,7 +371,7 @@
         return super(DateField, self).to_python(value)
 
     def strptime(self, value, format):
-        return datetime.date(*time.strptime(value, format)[:3])
+        return datetime.datetime.strptime(value, format).date()
 
 class TimeField(BaseTemporalField):
     widget = TimeInput
@@ -394,7 +392,7 @@
         return super(TimeField, self).to_python(value)
 
     def strptime(self, value, format):
-        return datetime.time(*time.strptime(value, format)[3:6])
+        return datetime.datetime.strptime(value, format).time()
 
 class DateTimeField(BaseTemporalField):
     widget = DateTimeInput

Modified: django/trunk/django/forms/widgets.py
===================================================================
--- django/trunk/django/forms/widgets.py        2011-06-10 16:19:56 UTC (rev 
16362)
+++ django/trunk/django/forms/widgets.py        2011-06-10 18:43:29 UTC (rev 
16363)
@@ -4,7 +4,6 @@
 
 import copy
 import datetime
-import time
 from itertools import chain
 from urlparse import urljoin
 from util import flatatt
@@ -397,7 +396,7 @@
         # necessarily the format used for this widget. Attempt to convert it.
         try:
             input_format = formats.get_format('DATE_INPUT_FORMATS')[0]
-            initial = datetime.date(*time.strptime(initial, input_format)[:3])
+            initial = datetime.datetime.strptime(initial, input_format).date()
         except (TypeError, ValueError):
             pass
         return super(DateInput, 
self)._has_changed(self._format_value(initial), data)
@@ -429,7 +428,7 @@
         # necessarily the format used for this widget. Attempt to convert it.
         try:
             input_format = formats.get_format('DATETIME_INPUT_FORMATS')[0]
-            initial = datetime.datetime(*time.strptime(initial, 
input_format)[:6])
+            initial = datetime.datetime.strptime(initial, input_format)
         except (TypeError, ValueError):
             pass
         return super(DateTimeInput, 
self)._has_changed(self._format_value(initial), data)
@@ -460,7 +459,7 @@
         # necessarily the format used for this  widget. Attempt to convert it.
         try:
             input_format = formats.get_format('TIME_INPUT_FORMATS')[0]
-            initial = datetime.time(*time.strptime(initial, input_format)[3:6])
+            initial = datetime.datetime.strptime(initial, input_format).time()
         except (TypeError, ValueError):
             pass
         return super(TimeInput, 
self)._has_changed(self._format_value(initial), data)

Modified: django/trunk/django/views/generic/dates.py
===================================================================
--- django/trunk/django/views/generic/dates.py  2011-06-10 16:19:56 UTC (rev 
16362)
+++ django/trunk/django/views/generic/dates.py  2011-06-10 18:43:29 UTC (rev 
16363)
@@ -1,4 +1,3 @@
-import time
 import datetime
 from django.db import models
 from django.core.exceptions import ImproperlyConfigured
@@ -495,7 +494,7 @@
     format = delim.join((year_format, month_format, day_format))
     datestr = delim.join((year, month, day))
     try:
-        return datetime.date(*time.strptime(datestr, format)[:3])
+        return datetime.datetime.strptime(datestr, format).date()
     except ValueError:
         raise Http404(_(u"Invalid date string '%(datestr)s' given format 
'%(format)s'") % {
             'datestr': datestr,

Modified: django/trunk/tests/regressiontests/forms/tests/extra.py
===================================================================
--- django/trunk/tests/regressiontests/forms/tests/extra.py     2011-06-10 
16:19:56 UTC (rev 16362)
+++ django/trunk/tests/regressiontests/forms/tests/extra.py     2011-06-10 
18:43:29 UTC (rev 16363)
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 import datetime
-import time
+
 from django.conf import settings
 from django.forms import *
 from django.forms.extras import SelectDateWidget
@@ -379,7 +379,7 @@
             def decompress(self, value):
                 if value:
                     data = value.split(',')
-                    return [data[0], data[1], 
datetime.datetime(*time.strptime(data[2], "%Y-%m-%d %H:%M:%S")[0:6])]
+                    return [data[0], data[1], 
datetime.datetime.strptime(data[2], "%Y-%m-%d %H:%M:%S")]
                 return [None, None, None]
 
             def format_output(self, rendered_widgets):

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To post to this group, send email to django-updates@googlegroups.com.
To unsubscribe from this group, send email to 
django-updates+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-updates?hl=en.

Reply via email to