summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2014-08-15 18:39:26 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2014-08-15 18:39:26 -0400
commitca69e4560333a1a7e3a2dafd746be851cc89228c (patch)
tree93de172dcba203948475357528296b4731765d66
parent239464a98a4b1a2d6e5e39d998911ec7a8fe3666 (diff)
downloadsqlalchemy-ca69e4560333a1a7e3a2dafd746be851cc89228c.tar.gz
- mutablemapping adds compiler overhead, so screw it
-rw-r--r--lib/sqlalchemy/util/_collections.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/lib/sqlalchemy/util/_collections.py b/lib/sqlalchemy/util/_collections.py
index fa27897a1..0904d454e 100644
--- a/lib/sqlalchemy/util/_collections.py
+++ b/lib/sqlalchemy/util/_collections.py
@@ -13,7 +13,6 @@ import operator
from .compat import threading, itertools_filterfalse
from . import py2k
import types
-from collections import MutableMapping
EMPTY_SET = frozenset()
@@ -265,13 +264,18 @@ class OrderedDict(dict):
def __iter__(self):
return iter(self._list)
- keys = MutableMapping.keys
- values = MutableMapping.values
- items = MutableMapping.items
+ def keys(self):
+ return list(self)
+
+ def values(self):
+ return [self[key] for key in self._list]
+
+ def items(self):
+ return [(key, self[key]) for key in self._list]
if py2k:
def itervalues(self):
- return iter([self[key] for key in self._list])
+ return iter(self.values())
def iterkeys(self):
return iter(self)