home *** CD-ROM | disk | FTP | other *** search
- # Source Generated with Decompyle++
- # File: in.pyc (Python 1.5)
-
- import string
- import sys
- import traceback
-
- try:
- sys.ps1
- except AttributeError:
- sys.ps1 = '>>> '
-
-
- try:
- sys.ps2
- except AttributeError:
- sys.ps2 = '... '
-
-
- def print_exc(limit = None, file = None):
- if not file:
- file = sys.stderr
-
- tb = sys.exc_traceback
- if tb:
- tb = tb.tb_next
-
-
- try:
- sys.last_type = sys.exc_type
- sys.last_value = sys.exc_value
- sys.last_traceback = tb
- traceback.print_exception(sys.last_type, sys.last_value, sys.last_traceback, limit, file)
- except:
- print '--- hola! ---'
- traceback.print_exception(sys.exc_type, sys.exc_value, sys.exc_traceback, limit, file)
-
-
-
- class PyInteractive:
-
- def __init__(self):
- self._pybuf = ''
-
-
- def executeline(self, stuff, out = None, env = None):
- if env is None:
- import __main__
- env = __main__.__dict__
-
- if out:
- (saveerr, saveout) = (sys.stderr, sys.stdout)
- sys.stderr = sys.stdout = out
-
-
- try:
- if self._pybuf:
- self._pybuf = self._pybuf + '\n' + stuff
- else:
- self._pybuf = stuff
- err = err1 = err2 = None
- code = code1 = code2 = None
- stripped = string.strip(self._pybuf)
- if not stripped or stripped[0] == '#':
- self._pybuf = ''
- sys.stdout.write(sys.ps1)
- sys.stdout.flush()
- return None
-
-
- try:
- code = compile(self._pybuf, '<input>', 'single')
- except SyntaxError:
- err = None
- except:
- print_exc()
- self._pybuf = ''
- sys.stdout.write(sys.ps1)
- sys.stdout.flush()
- return None
-
-
- try:
- code1 = compile(self._pybuf + '\n', '<input>', 'single')
- except SyntaxError:
- err1 = None
-
-
- try:
- code2 = compile(self._pybuf + '\n\n', '<input>', 'single')
- except SyntaxError:
- err2 = None
-
- if code:
-
- try:
- exec code in env
- except:
- print_exc()
-
- self._pybuf = ''
- elif code1:
- pass
- elif err1 == err2 and not stuff and self._pybuf:
- print_exc()
- self._pybuf = ''
-
- if self._pybuf:
- sys.stdout.write(sys.ps2)
- sys.stdout.flush()
- else:
- sys.stdout.write(sys.ps1)
- sys.stdout.flush()
- finally:
- if out:
- (sys.stderr, sys.stdout) = (saveerr, saveout)
-
-
-
-
-