text: """ 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(']')
  