From 6db954b044a2bc5847d190d91cd5232d5b358d9e Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Fri, 15 Aug 2014 18:39:26 -0400 Subject: [PATCH] - mutablemapping adds compiler overhead, so screw it --- lib/sqlalchemy/util/_collections.py | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) 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) -- 2.47.3