""" 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, 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 ']' |