home *** CD-ROM | disk | FTP | other *** search
Wrap
# Source Generated with Decompyle++ # File: in.pyc (Python 2.6) from IPython import ipapi import os import re import textwrap import ipy_defaults def main(): ip = ipapi.get() o = ip.options o.autocall = 2 try: ip.ex('from IPython.external.path import path') except ImportError: pass import envpersist import ipy_which import ipy_app_completers import ipy_rehashdir ip.ex('import os') ip.ex("def up(): os.chdir('..')") ip.user_ns['LA'] = LastArgFinder() ip.user_ns['_prompt_title'] = '' o.prompt_in1 = '\\C_Green${_prompt_title}\\C_LightBlue[\\C_LightCyan\\Y2\\C_LightBlue]\\C_Green|\\#> ' o.prompt_in2 = '\\C_Green|\\C_LightGreen\\D\\C_Green> ' o.prompt_out = '<\\#> ' Release = Release import IPython import sys o.banner = 'IPython %s [on Py %s]\n' % (Release.version, sys.version.split(None, 1)[0]) ip.IP.default_option('cd', '-q') ip.IP.default_option('macro', '-r') o.prompts_pad_left = '1' o.separate_in = '0' o.separate_out = '0' o.separate_out2 = '0' db = ip.db syscmds = db.get('syscmdlist', []) if not syscmds: print textwrap.dedent('\n System command list not initialized, probably the first run...\n running %rehashx to refresh the command list. Run %rehashx\n again to refresh command list (after installing new software etc.)\n ') ip.magic('rehashx') syscmds = db.get('syscmdlist') if os.name == 'posix': mapper = lambda s: s else: def mapper(s): return s.lower() for cmd in syscmds: (noext, ext) = os.path.splitext(cmd) if ext.lower() == '.exe': cmd = noext key = mapper(cmd) if key not in ip.IP.alias_table: ip.defalias(key.replace('.', ''), cmd) continue ip.load('IPython.external.mglob') if sys.platform == 'win32': if 'cygwin' in os.environ['PATH'].lower(): ip.defalias('d', 'ls -F --color=auto') else: ip.load('ipy_fsops') ip.defalias('d', 'dir /w /og /on') ip.set_hook('input_prefilter', slash_prefilter_f) extend_shell_behavior(ip) class LastArgFinder: def __call__(self, hist_idx = None): ip = ipapi.get() if hist_idx is None: return str(self) return ip.IP.input_hist_raw[hist_idx].strip().split()[-1] def __str__(self): ip = ipapi.get() for cmd in reversed(ip.IP.input_hist_raw): parts = cmd.strip().split() if len(parts) < 2 or parts[-1] in ('$LA', 'LA()'): continue return parts[-1] return '' def slash_prefilter_f(self, line): import IPython.genutils as IPython if re.match('(?:[.~]|/[a-zA-Z_0-9]+)/', line): return '_ip.system(' + IPython.genutils.make_quoted_expr(line) + ')' raise ipapi.TryNext def extend_shell_behavior(ip): ip.IP.__sig__ = 40965 ip.IP.user_ns['__builtins__'].__dict__['__sig__'] = ip.IP.__sig__ ItplNS = ItplNS import IPython.Itpl shell = shell import IPython.genutils ip.IP.var_expand = lambda cmd, lvars = None, depth = (None, None, 2): str(ItplNS(cmd, ip.IP.user_ns, get_locals())) def get_locals(): import sys getsig = lambda fno: sys._getframe(fno + 1).f_globals['__builtins__'].__dict__['__sig__'] getlvars = lambda fno: sys._getframe(fno + 1).f_locals frame_no = 1 sig = ip.IP.__sig__ fsig = ~sig while fsig != sig: try: fsig = getsig(frame_no) continue except (AttributeError, KeyError): ((None,),) ((None,),) frame_no += 1 continue except ValueError: return { } None<EXCEPTION MATCH>ValueError first_frame = frame_no try: while sig == getsig(frame_no + 1): frame_no += 1 continue ((None,),)<EXCEPTION MATCH>(AttributeError, KeyError) except (AttributeError, KeyError, ValueError): ((None,),)<EXCEPTION MATCH>(AttributeError, KeyError) ((None,),)<EXCEPTION MATCH>(AttributeError, KeyError) ((None,),) except: ((None,),) lvars = { } for fno in range(frame_no, first_frame - 1, -1): lvars.update(getlvars(fno)) return lvars def _runlines(lines): ip.IP.resetbuffer() lines = lines.split('\n') more = 0 command = '' for line in lines: if command != '': line = line.strip() if line and line[-1] == '\\': command += line[0:-1] + ' ' more = True continue continue command += line if command or more: ip.IP.input_hist_raw.append('# ' + command + '\n') more = ip.IP.push(ip.IP.prefilter(command, more)) command = '' if more is None: break more is None if more: ip.IP.push('\n') ip.IP.runlines = _runlines main()