Skip to content
Snippets Groups Projects
Unverified Commit 529a805c authored by Awais Jibran's avatar Awais Jibran Committed by GitHub
Browse files

Fixing dates serialization in course import (#27137)

parent 85515283
Branches
Tags
No related merge requests found
......@@ -4,6 +4,7 @@
import unittest
from unittest.mock import Mock
import dateutil.parser
from opaque_keys.edx.locator import BlockUsageLocator, CourseLocator
from xblock.field_data import DictFieldData
......@@ -386,6 +387,7 @@ class TestSerialize(unittest.TestCase):
assert serialize_field(['foo', 'bar']) == '["foo", "bar"]'
assert serialize_field("2012-12-31T23:59:59Z") == '2012-12-31T23:59:59Z'
assert serialize_field("1 day 12 hours 59 minutes 59 seconds") == '1 day 12 hours 59 minutes 59 seconds'
assert serialize_field(dateutil.parser.parse('2012-12-31T23:59:59Z')) == '2012-12-31T23:59:59+00:00'
class TestDeserialize(unittest.TestCase):
......
# lint-amnesty, pylint: disable=missing-module-docstring
import datetime
import copy
import json
......@@ -65,6 +66,10 @@ def serialize_field(value):
"""
if isinstance(value, str):
return value
elif isinstance(value, datetime.datetime):
if value.tzinfo is not None and value.utcoffset() is None:
return value.isoformat() + 'Z'
return value.isoformat()
return json.dumps(value, cls=EdxJSONEncoder)
......
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