From aa32c5aa7ca9ce842628d90c2d0fb4406ab5ff82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc-Andr=C3=A9=20Lemburg?= Date: Wed, 19 Sep 2001 11:24:48 +0000 Subject: [PATCH] Added new helpers for easy access to codecs. Docs will follow. --- Lib/codecs.py | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/Lib/codecs.py b/Lib/codecs.py index 827719bb32a..df203c64dac 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):