home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2010 November / maximum-cd-2010-11.iso / DiscContents / calibre-0.7.13.msi / file_1740 (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-08-06  |  1.7 KB  |  46 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. import IPython.ipapi as IPython
  5. ip = IPython.ipapi.get()
  6. import sys
  7. import textwrap
  8. import inspect
  9.  
  10. def indent(s, ind = '    '):
  11.     return []([ ind + l for l in s.splitlines() ])
  12.  
  13.  
  14. class ExtUtil:
  15.     
  16.     def describe(self):
  17.         for n, mod in self._active():
  18.             doc = inspect.getdoc(mod)
  19.             if doc:
  20.                 print '== %s ==' % n
  21.                 print indent(doc)
  22.                 continue
  23.         
  24.  
  25.     
  26.     def ls(self):
  27.         for n, m in self._active():
  28.             print '%-20s %s' % (n, m.__file__.replace('\\', '/'))
  29.         
  30.  
  31.     
  32.     def _active(self):
  33.         act = []
  34.         for mname, m in sys.modules.items():
  35.             o = getattr(m, 'ip', None)
  36.             if isinstance(o, IPython.ipapi.IPApi):
  37.                 act.append((mname, m))
  38.                 continue
  39.         
  40.         act.sort()
  41.         return act
  42.  
  43.  
  44. extutil = ExtUtil()
  45. ip.to_user_ns('extutil')
  46.