home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2011 January / maximum-cd-2011-01.iso / DiscContents / calibre-0.7.26.msi / file_1899 (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2010-10-31  |  5.6 KB  |  184 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. from IPython import ipapi
  5. import os
  6. import bisect
  7. import sys
  8. from genutils import Term, shell
  9. from pprint import PrettyPrinter
  10. __all__ = [
  11.     'editor',
  12.     'fix_error_editor',
  13.     'synchronize_with_editor',
  14.     'result_display',
  15.     'input_prefilter',
  16.     'shutdown_hook',
  17.     'late_startup_hook',
  18.     'generate_prompt',
  19.     'generate_output_prompt',
  20.     'shell_hook',
  21.     'show_in_pager',
  22.     'pre_prompt_hook',
  23.     'pre_runcode_hook',
  24.     'clipboard_get']
  25. pformat = PrettyPrinter().pformat
  26.  
  27. def editor(self, filename, linenum = None):
  28.     editor = self.rc.editor
  29.     if linenum is None or editor == 'notepad':
  30.         linemark = ''
  31.     else:
  32.         linemark = '+%d' % int(linenum)
  33.     if ' ' in editor and os.path.isfile(editor) and editor[0] != '"':
  34.         editor = '"%s"' % editor
  35.     
  36.     if os.system('%s %s %s' % (editor, linemark, filename)) != 0:
  37.         raise ipapi.TryNext()
  38.     os.system('%s %s %s' % (editor, linemark, filename)) != 0
  39.  
  40. import tempfile
  41.  
  42. def fix_error_editor(self, filename, linenum, column, msg):
  43.     
  44.     def vim_quickfix_file():
  45.         t = tempfile.NamedTemporaryFile()
  46.         t.write('%s:%d:%d:%s\n' % (filename, linenum, column, msg))
  47.         t.flush()
  48.         return t
  49.  
  50.     if os.path.basename(self.rc.editor) != 'vim':
  51.         self.hooks.editor(filename, linenum)
  52.         return None
  53.     t = vim_quickfix_file()
  54.     
  55.     try:
  56.         if os.system('vim --cmd "set errorformat=%f:%l:%c:%m" -q ' + t.name):
  57.             raise ipapi.TryNext()
  58.         os.system('vim --cmd "set errorformat=%f:%l:%c:%m" -q ' + t.name)
  59.     finally:
  60.         t.close()
  61.  
  62.  
  63.  
  64. def synchronize_with_editor(self, filename, linenum, column):
  65.     pass
  66.  
  67.  
  68. class CommandChainDispatcher:
  69.     
  70.     def __init__(self, commands = None):
  71.         if commands is None:
  72.             self.chain = []
  73.         else:
  74.             self.chain = commands
  75.  
  76.     
  77.     def __call__(self, *args, **kw):
  78.         for prio, cmd in self.chain:
  79.             
  80.             try:
  81.                 ret = cmd(*args, **kw)
  82.                 return ret
  83.             continue
  84.             except ipapi.TryNext:
  85.                 exc = None
  86.                 if exc.args or exc.kwargs:
  87.                     args = exc.args
  88.                     kw = exc.kwargs
  89.                 
  90.                 exc.kwargs
  91.             
  92.  
  93.         
  94.         raise ipapi.TryNext
  95.  
  96.     
  97.     def __str__(self):
  98.         return str(self.chain)
  99.  
  100.     
  101.     def add(self, func, priority = 0):
  102.         bisect.insort(self.chain, (priority, func))
  103.  
  104.     
  105.     def __iter__(self):
  106.         return iter(self.chain)
  107.  
  108.  
  109.  
  110. def result_display(self, arg):
  111.     if self.rc.pprint:
  112.         out = pformat(arg)
  113.         if '\n' in out:
  114.             Term.cout.write('\n')
  115.         
  116.         print >>Term.cout, out
  117.     else:
  118.         print >>Term.cout, repr(arg)
  119.  
  120.  
  121. def input_prefilter(self, line):
  122.     return line
  123.  
  124.  
  125. def shutdown_hook(self):
  126.     pass
  127.  
  128.  
  129. def late_startup_hook(self):
  130.     pass
  131.  
  132.  
  133. def generate_prompt(self, is_continuation):
  134.     ip = self.api
  135.     if is_continuation:
  136.         return str(ip.IP.outputcache.prompt2)
  137.     return str(ip.IP.outputcache.prompt1)
  138.  
  139.  
  140. def generate_output_prompt(self):
  141.     ip = self.api
  142.     return str(ip.IP.outputcache.prompt_out)
  143.  
  144.  
  145. def shell_hook(self, cmd):
  146.     shell(cmd, header = self.rc.system_header, verbose = self.rc.system_verbose)
  147.  
  148.  
  149. def show_in_pager(self, s):
  150.     raise ipapi.TryNext
  151.  
  152.  
  153. def pre_prompt_hook(self):
  154.     pass
  155.  
  156.  
  157. def pre_runcode_hook(self):
  158.     pass
  159.  
  160.  
  161. def clipboard_get(self):
  162.     osx_clipboard_get = osx_clipboard_get
  163.     tkinter_clipboard_get = tkinter_clipboard_get
  164.     win32_clipboard_get = win32_clipboard_get
  165.     import IPython.clipboard
  166.     if sys.platform == 'win32':
  167.         chain = [
  168.             win32_clipboard_get,
  169.             tkinter_clipboard_get]
  170.     elif sys.platform == 'darwin':
  171.         chain = [
  172.             osx_clipboard_get,
  173.             tkinter_clipboard_get]
  174.     else:
  175.         chain = [
  176.             tkinter_clipboard_get]
  177.     dispatcher = CommandChainDispatcher()
  178.     for func in chain:
  179.         dispatcher.add(func)
  180.     
  181.     text = dispatcher()
  182.     return text
  183.  
  184.