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_0_9_8~60 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6db954b044a2bc5847d190d91cd5232d5b358d9e;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)