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