/Tools/unicode/listcodecs.py

http://unladen-swallow.googlecode.com/ · Python · 41 lines · 25 code · 5 blank · 11 comment · 8 complexity · 850e810da2608baad987bd542964d5d1 MD5 · raw file

  1. """ List all available codec modules.
  2. (c) Copyright 2005, Marc-Andre Lemburg (mal@lemburg.com).
  3. Licensed to PSF under a Contributor Agreement.
  4. """
  5. import os, codecs, encodings
  6. _debug = 0
  7. def listcodecs(dir):
  8. names = []
  9. for filename in os.listdir(dir):
  10. if filename[-3:] != '.py':
  11. continue
  12. name = filename[:-3]
  13. # Check whether we've found a true codec
  14. try:
  15. codecs.lookup(name)
  16. except LookupError:
  17. # Codec not found
  18. continue
  19. except Exception, reason:
  20. # Probably an error from importing the codec; still it's
  21. # a valid code name
  22. if _debug:
  23. print '* problem importing codec %r: %s' % \
  24. (name, reason)
  25. names.append(name)
  26. return names
  27. if __name__ == '__main__':
  28. names = listcodecs(encodings.__path__[0])
  29. names.sort()
  30. print 'all_codecs = ['
  31. for name in names:
  32. print ' %r,' % name
  33. print ']'