From: Mike Bayer Date: Fri, 15 Aug 2014 22:39:26 +0000 (-0400) Subject: - mutablemapping adds compiler overhead, so screw it X-Git-Tag: rel_1_0_0b1~216^2~13 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=ca69e4560333a1a7e3a2dafd746be851cc89228c;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - mutablemapping adds compiler overhead, so screw it --- diff --git a/lib/sqlalchemy/util/_collections.py b/lib/sqlalchemy/util/_collections.py index fa27897a11..0904d454eb 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)