""" List all available codec modules. (c) Copyright 2005, Marc-Andre Lemburg (mal@lemburg.com). Licensed to PSF under a Contributor Agreement. """ import os, codecs, encodings _debug = 0 def listcodecs(dir): names = [] for filename in os.listdir(dir): if filename[-3:] != '.py': continue name = filename[:-3] # Check whether we've found a true codec try: codecs.lookup(name) except LookupError: # Codec not found continue except Exception as reason: # Probably an error from importing the codec; still it's # a valid code name if _debug: print('* problem importing codec %r: %s' % \ (name, reason)) names.append(name) return names if __name__ == '__main__': names = listcodecs(encodings.__path__[0]) names.sort() print('all_codecs = [') for name in names: print(' %r,' % name) print(']')