Fix bug where pserialize was not serializing default properly.

This commit is contained in:
Chris McDonough
2010-04-02 05:21:04 +00:00
parent c67b72e717
commit e82bc8dfdd
2 changed files with 9 additions and 13 deletions

View File

@@ -14,8 +14,8 @@ Next release
- Add a ``__setitem__`` method to the ``colander.Invalid`` class.
- The ``colander.Mapping`` keyword argument ``unknown_keys`` has been
renamed to ``unknown``.
- The ``colander.Mapping`` constructor keyword argument
``unknown_keys`` has been renamed to ``unknown``.
- Allow ``colander.Mapping`` type to accept a new constructor
argument: ``partial``.

View File

@@ -317,28 +317,25 @@ class Mapping(Type):
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 callback(subnode, subval):
return subnode.serialize(subval)
def default_callback(subnode):
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)
def pserialize(self, node, value):
def callback(subnode, subval):
return subnode.pserialize(subval)
def default_callback(subnode):
return subnode.default
return subnode.serialize(subnode.default)
return self._impl(
node, value, callback, default_callback, unknown='ignore',
partial=True)
@@ -348,7 +345,6 @@ class Mapping(Type):
return subnode.pdeserialize(subval)
def default_callback(subnode):
return subnode.default
return self._impl(
node, value, callback, default_callback, unknown='ignore',
partial=True)