diff options
author | Mike Bayer <classic@zzzcomputing.com> | 2014-07-06 17:12:23 -0400 |
---|---|---|
committer | Mike Bayer <classic@zzzcomputing.com> | 2014-07-06 17:12:23 -0400 |
commit | 41563b5f5a03d8d977cd8098627e0fcec02aef99 (patch) | |
tree | 83df19f7c6e32988f656c2941c5b1683e7d13d68 | |
parent | f84e8bc3fad05d2e2b422c57c5ae9dd45b5152d5 (diff) | |
parent | e36fb9e87c89fd0af8a4a99d2ae97aa3c7ae8ad3 (diff) | |
download | sqlalchemy-41563b5f5a03d8d977cd8098627e0fcec02aef99.tar.gz |
Merged in therve/bug-3093/bug/3093 (pull request #24)
Return the assigned value in MultableDict.setdefault
-rw-r--r-- | lib/sqlalchemy/ext/mutable.py | 3 | ||||
-rw-r--r-- | test/ext/test_mutable.py | 4 |
2 files changed, 4 insertions, 3 deletions
diff --git a/lib/sqlalchemy/ext/mutable.py b/lib/sqlalchemy/ext/mutable.py index d2c686048..6373b2f00 100644 --- a/lib/sqlalchemy/ext/mutable.py +++ b/lib/sqlalchemy/ext/mutable.py @@ -612,8 +612,9 @@ class MutableDict(Mutable, dict): def setdefault(self, key, value): - dict.setdefault(self, key, value) + result = dict.setdefault(self, key, value) self.changed() + return result def __delitem__(self, key): """Detect dictionary del events and emit change events.""" diff --git a/test/ext/test_mutable.py b/test/ext/test_mutable.py index 9a030a4e9..32b3e11dd 100644 --- a/test/ext/test_mutable.py +++ b/test/ext/test_mutable.py @@ -93,12 +93,12 @@ class _MutableDictTestBase(object): sess.add(f1) sess.commit() - f1.data.setdefault('c', 'd') + eq_(f1.data.setdefault('c', 'd'), 'd') sess.commit() eq_(f1.data, {'a': 'b', 'c': 'd'}) - f1.data.setdefault('c', 'q') + eq_(f1.data.setdefault('c', 'q'), 'd') sess.commit() eq_(f1.data, {'a': 'b', 'c': 'd'}) |