From: Mike Bayer Date: Fri, 3 Sep 2010 19:55:09 +0000 (-0400) Subject: python 2.4 X-Git-Tag: rel_0_6_4~17 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=6e83926657057c97239bef114e640f2b102be02c;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git python 2.4 --- diff --git a/lib/sqlalchemy/util.py b/lib/sqlalchemy/util.py index ddcab78227..b41aed8bc5 100644 --- a/lib/sqlalchemy/util.py +++ b/lib/sqlalchemy/util.py @@ -181,21 +181,23 @@ class frozendict(dict): class _probe(dict): def __missing__(self, key): return 1 + try: - _probe()['missing'] - py25_dict = dict -except KeyError: - class py25_dict(dict): - def __getitem__(self, key): - try: - return dict.__getitem__(self, key) - except KeyError: + try: + _probe()['missing'] + py25_dict = dict + except KeyError: + class py25_dict(dict): + def __getitem__(self, key): try: - missing = self.__missing__ - except AttributeError: - raise KeyError(key) - else: - return missing(key) + return dict.__getitem__(self, key) + except KeyError: + try: + missing = self.__missing__ + except AttributeError: + raise KeyError(key) + else: + return missing(key) finally: del _probe