Fix bug where pserialize was not serializing default properly.
This commit is contained in:
@@ -14,8 +14,8 @@ Next release
|
|||||||
|
|
||||||
- Add a ``__setitem__`` method to the ``colander.Invalid`` class.
|
- Add a ``__setitem__`` method to the ``colander.Invalid`` class.
|
||||||
|
|
||||||
- The ``colander.Mapping`` keyword argument ``unknown_keys`` has been
|
- The ``colander.Mapping`` constructor keyword argument
|
||||||
renamed to ``unknown``.
|
``unknown_keys`` has been renamed to ``unknown``.
|
||||||
|
|
||||||
- Allow ``colander.Mapping`` type to accept a new constructor
|
- Allow ``colander.Mapping`` type to accept a new constructor
|
||||||
argument: ``partial``.
|
argument: ``partial``.
|
||||||
|
|||||||
@@ -317,28 +317,25 @@ class Mapping(Type):
|
|||||||
|
|
||||||
return result
|
return result
|
||||||
|
|
||||||
def deserialize(self, node, value):
|
|
||||||
def callback(subnode, subval):
|
|
||||||
return subnode.deserialize(subval)
|
|
||||||
def default_callback(subnode):
|
|
||||||
return subnode.default
|
|
||||||
|
|
||||||
return self._impl(node, value, callback, default_callback)
|
|
||||||
|
|
||||||
def serialize(self, node, value):
|
def serialize(self, node, value):
|
||||||
def callback(subnode, subval):
|
def callback(subnode, subval):
|
||||||
return subnode.serialize(subval)
|
return subnode.serialize(subval)
|
||||||
def default_callback(subnode):
|
def default_callback(subnode):
|
||||||
return subnode.serialize(subnode.default)
|
return subnode.serialize(subnode.default)
|
||||||
|
return self._impl(node, value, callback, default_callback)
|
||||||
|
|
||||||
|
def deserialize(self, node, value):
|
||||||
|
def callback(subnode, subval):
|
||||||
|
return subnode.deserialize(subval)
|
||||||
|
def default_callback(subnode):
|
||||||
|
return subnode.default
|
||||||
return self._impl(node, value, callback, default_callback)
|
return self._impl(node, value, callback, default_callback)
|
||||||
|
|
||||||
def pserialize(self, node, value):
|
def pserialize(self, node, value):
|
||||||
def callback(subnode, subval):
|
def callback(subnode, subval):
|
||||||
return subnode.pserialize(subval)
|
return subnode.pserialize(subval)
|
||||||
def default_callback(subnode):
|
def default_callback(subnode):
|
||||||
return subnode.default
|
return subnode.serialize(subnode.default)
|
||||||
|
|
||||||
return self._impl(
|
return self._impl(
|
||||||
node, value, callback, default_callback, unknown='ignore',
|
node, value, callback, default_callback, unknown='ignore',
|
||||||
partial=True)
|
partial=True)
|
||||||
@@ -348,7 +345,6 @@ class Mapping(Type):
|
|||||||
return subnode.pdeserialize(subval)
|
return subnode.pdeserialize(subval)
|
||||||
def default_callback(subnode):
|
def default_callback(subnode):
|
||||||
return subnode.default
|
return subnode.default
|
||||||
|
|
||||||
return self._impl(
|
return self._impl(
|
||||||
node, value, callback, default_callback, unknown='ignore',
|
node, value, callback, default_callback, unknown='ignore',
|
||||||
partial=True)
|
partial=True)
|
||||||
|
|||||||
Reference in New Issue
Block a user