From: Martin v. Löwis Date: Mon, 29 Jul 2002 14:05:24 +0000 (+0000) Subject: Revert #571603 since it is ok to import codecs that are not subdirectories X-Git-Tag: v2.3c1~4836 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b9e0764d8bc610d90d5aed9d8a97fe7643a2eeec;p=python Revert #571603 since it is ok to import codecs that are not subdirectories of encodings. Skip modules that don't have a getregentry function. --- diff --git a/Lib/encodings/__init__.py b/Lib/encodings/__init__.py index ca59721222..e3b97aed83 100644 --- a/Lib/encodings/__init__.py +++ b/Lib/encodings/__init__.py @@ -55,24 +55,27 @@ def search_function(encoding): try: mod = __import__('encodings.' + modname, globals(), locals(), _import_tail) - except ImportError,why: + except ImportError: import aliases modname = aliases.aliases.get(modname, modname) try: - mod = __import__('encodings.' + modname, globals(), locals(), _import_tail) - except ImportError,why: + mod = __import__(modname, globals(), locals(), _import_tail) + except ImportError: mod = None + + try: + getregentry = mod.getregentry + except AttributeError: + # Not a codec module + mod = None + if mod is None: # Cache misses _cache[encoding] = None - return None - + return None # Now ask the module for the registry entry - try: - entry = tuple(mod.getregentry()) - except AttributeError: - entry = () + entry = tuple(getregentry()) if len(entry) != 4: raise CodecRegistryError,\ 'module "%s" (%s) failed to register' % \