From 8acef4c63795b6fce0905bd79b7bf898261daea0 Mon Sep 17 00:00:00 2001 From: Calen Pennington Date: Wed, 17 Sep 2014 14:08:45 -0400 Subject: [PATCH] Allow Timedelta and RelativeTime fields to handle from_json being passed timedelta objects --- common/lib/xmodule/xmodule/fields.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/common/lib/xmodule/xmodule/fields.py b/common/lib/xmodule/xmodule/fields.py index a1b7496bf8..514e58e28e 100644 --- a/common/lib/xmodule/xmodule/fields.py +++ b/common/lib/xmodule/xmodule/fields.py @@ -101,6 +101,10 @@ class Timedelta(Field): """ if time_str is None: return None + + if isinstance(time_str, datetime.timedelta): + return time_str + parts = TIMEDELTA_REGEX.match(time_str) if not parts: return @@ -182,6 +186,9 @@ class RelativeTime(Field): if not value: return datetime.timedelta(seconds=0) + if isinstance(value, datetime.timedelta): + return value + # We've seen serialized versions of float in this field if isinstance(value, float): return datetime.timedelta(seconds=value)