Kaydet (Commit) 816a1b75 authored tarafından Marc-André Lemburg's avatar Marc-André Lemburg

Fixed search function error reporting in the encodings package

__init__.py module to raise errors which can be catched as LookupErrors
as well as SystemErrors.

Modified the error messages to include more information about the
failing module.
üst 494f2aea
......@@ -28,11 +28,15 @@ Written by Marc-Andre Lemburg (mal@lemburg.com).
"""#"
import codecs,aliases
import codecs,aliases,exceptions
_cache = {}
_unknown = '--unknown--'
class CodecRegistryError(exceptions.LookupError,
exceptions.SystemError):
pass
def search_function(encoding):
# Cache lookup
......@@ -56,14 +60,14 @@ def search_function(encoding):
except AttributeError:
entry = ()
if len(entry) != 4:
raise SystemError,\
'module "%s.%s" failed to register' % \
(__name__,modname)
raise CodecRegistryError,\
'module "%s" (%s) failed to register' % \
(mod.__name__, mod.__file__)
for obj in entry:
if not callable(obj):
raise SystemError,\
'incompatible codecs in module "%s.%s"' % \
(__name__,modname)
raise CodecRegistryError,\
'incompatible codecs in module "%s" (%s)' % \
(mod.__name__, mod.__file__)
# Cache the codec registry entry
_cache[encoding] = entry
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment