Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ CHANGELOG
6.0.0b6 (unreleased)
--------------------

- Use pendulum's parser to deserialize datetime values (if it's installed).
Otherwise use current one. [masipcat]

- Undo datetime object renderization on
guillotina_json_default. [lferran]

Expand Down
13 changes: 12 additions & 1 deletion guillotina/json/deserialize_value.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,16 @@
# -*- coding: utf-8 -*-
from dateutil.parser import parse

try:
# Pendulum's parser is faster than dateutil.parser for dates with format
# RFC 3339/ISO 8601. See GH issue #974 for details.
from pendulum.parsing import parse as _parse
from functools import partial

# When parse is called with `strict=False` it calls dateutil.parse() as fallback
parse = partial(_parse, strict=False)
except ImportError:
from dateutil.parser import parse

from guillotina import configure
from guillotina.component import ComponentLookupError
from guillotina.component import get_adapter
Expand Down