/
githubmirror
/
edx-platform
Обзор
Документация
Войти
/
githubmirror
/
edx-platform
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
release-ulmo
openedx/core/lib/json_utils.py
30 строк
880 B
Usama Sadiq
refactor: Ran pyupgrade on openedx/core
08 апр 2021, 16:34
08 апр 2021, 16:34
8de47ef
Код
Авторство
О чём код?
""" Helpers for json serialization """ import datetime from django.core.serializers.json import DjangoJSONEncoder from opaque_keys.edx.keys import CourseKey, UsageKey class EdxJSONEncoder(DjangoJSONEncoder): """ Custom JSONEncoder that handles `Location` and `datetime.datetime` objects. `Location`s are encoded as their url string form, and `datetime`s as ISO date strings """ def default(self, o): # pylint: disable=method-hidden if isinstance(o, (CourseKey, UsageKey)): return str(o) elif isinstance(o, datetime.datetime): if o.tzinfo is not None: if o.utcoffset() is None: return o.isoformat() + 'Z' else: return o.isoformat() else: return o.isoformat() else: return super().default(o)