From: Marc-André Lemburg <mal@egenix.com>
Date: Wed, 19 Sep 2001 11:24:48 +0000 (+0000)
Subject: Added new helpers for easy access to codecs. Docs will follow.
X-Git-Tag: v2.2.1c1~1733
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=aa32c5aa7ca9ce842628d90c2d0fb4406ab5ff82;p=python

Added new helpers for easy access to codecs. Docs will follow.
---

diff --git a/Lib/codecs.py b/Lib/codecs.py
index 827719bb32..df203c64da 100644
--- a/Lib/codecs.py
+++ b/Lib/codecs.py
@@ -539,6 +539,48 @@ def EncodedFile(file, data_encoding, file_encoding=None, errors='strict'):
     sr.file_encoding = file_encoding
     return sr
 
+### Helpers for codec lookup
+
+def getencoder(encoding):
+
+    """ Lookup up the codec for the given encoding and return
+        its encoder function.
+
+        Raises a LookupError in case the encoding cannot be found.
+
+    """
+    return lookup(encoding)[0]
+
+def getdecoder(encoding):
+
+    """ Lookup up the codec for the given encoding and return
+        its decoder function.
+
+        Raises a LookupError in case the encoding cannot be found.
+
+    """
+    return lookup(encoding)[1]
+
+def getreader(encoding):
+
+    """ Lookup up the codec for the given encoding and return
+        its StreamReader class or factory function.
+
+        Raises a LookupError in case the encoding cannot be found.
+
+    """
+    return lookup(encoding)[2]
+
+def getwriter(encoding):
+
+    """ Lookup up the codec for the given encoding and return
+        its StreamWriter class or factory function.
+
+        Raises a LookupError in case the encoding cannot be found.
+
+    """
+    return lookup(encoding)[3]
+
 ### Helpers for charmap-based codecs
 
 def make_identity_dict(rng):