summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Lib/encodings/__init__.py18
1 files changed, 11 insertions, 7 deletions
diff --git a/Lib/encodings/__init__.py b/Lib/encodings/__init__.py
index 51ec873..3830954 100644
--- a/Lib/encodings/__init__.py
+++ b/Lib/encodings/__init__.py
@@ -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