Commit c4f908d4 by Tom Christie

Introduce datetime_parser as class level attribute on all date/time fields. Refs #3093.

parent 6ce9e3ba
...@@ -954,6 +954,7 @@ class DateField(Field): ...@@ -954,6 +954,7 @@ class DateField(Field):
} }
format = api_settings.DATE_FORMAT format = api_settings.DATE_FORMAT
input_formats = api_settings.DATE_INPUT_FORMATS input_formats = api_settings.DATE_INPUT_FORMATS
datetime_parser = datetime.datetime.strptime
def __init__(self, format=empty, input_formats=None, *args, **kwargs): def __init__(self, format=empty, input_formats=None, *args, **kwargs):
self.format = format if format is not empty else self.format self.format = format if format is not empty else self.format
...@@ -978,7 +979,7 @@ class DateField(Field): ...@@ -978,7 +979,7 @@ class DateField(Field):
return parsed return parsed
else: else:
try: try:
parsed = datetime.datetime.strptime(value, format) parsed = self.datetime_parser(value, format)
except (ValueError, TypeError): except (ValueError, TypeError):
pass pass
else: else:
...@@ -1017,6 +1018,7 @@ class TimeField(Field): ...@@ -1017,6 +1018,7 @@ class TimeField(Field):
} }
format = api_settings.TIME_FORMAT format = api_settings.TIME_FORMAT
input_formats = api_settings.TIME_INPUT_FORMATS input_formats = api_settings.TIME_INPUT_FORMATS
datetime_parser = datetime.datetime.strptime
def __init__(self, format=empty, input_formats=None, *args, **kwargs): def __init__(self, format=empty, input_formats=None, *args, **kwargs):
self.format = format if format is not empty else self.format self.format = format if format is not empty else self.format
...@@ -1038,7 +1040,7 @@ class TimeField(Field): ...@@ -1038,7 +1040,7 @@ class TimeField(Field):
return parsed return parsed
else: else:
try: try:
parsed = datetime.datetime.strptime(value, format) parsed = self.datetime_parser(value, format)
except (ValueError, TypeError): except (ValueError, TypeError):
pass pass
else: else:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment