X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/d14a1e28567de23c586bc80017073d0c39f8d18f..eb41aed90acf09ab0ca624adf397dc2ed886ad77:/wxPython/wx/py/interpreter.py diff --git a/wxPython/wx/py/interpreter.py b/wxPython/wx/py/interpreter.py index 426b0b966f..c2415b7458 100644 --- a/wxPython/wx/py/interpreter.py +++ b/wxPython/wx/py/interpreter.py @@ -9,13 +9,7 @@ import sys from code import InteractiveInterpreter import dispatcher import introspect - -try: - True -except NameError: - True = 1==1 - False = 1==0 - +import wx class Interpreter(InteractiveInterpreter): """Interpreter based on code.InteractiveInterpreter.""" @@ -23,7 +17,8 @@ class Interpreter(InteractiveInterpreter): revision = __revision__ def __init__(self, locals=None, rawin=None, - stdin=sys.stdin, stdout=sys.stdout, stderr=sys.stderr): + stdin=sys.stdin, stdout=sys.stdout, stderr=sys.stderr, + showInterpIntro=True): """Create an interactive interpreter object.""" InteractiveInterpreter.__init__(self, locals=locals) self.stdin = stdin @@ -33,10 +28,11 @@ class Interpreter(InteractiveInterpreter): import __builtin__ __builtin__.raw_input = rawin del __builtin__ - copyright = 'Type "help", "copyright", "credits" or "license"' - copyright += ' for more information.' - self.introText = 'Python %s on %s%s%s' % \ - (sys.version, sys.platform, os.linesep, copyright) + if showInterpIntro: + copyright = 'Type "help", "copyright", "credits" or "license"' + copyright += ' for more information.' + self.introText = 'Python %s on %s%s%s' % \ + (sys.version, sys.platform, os.linesep, copyright) try: sys.ps1 except AttributeError: @@ -48,7 +44,8 @@ class Interpreter(InteractiveInterpreter): self.more = 0 # List of lists to support recursive push(). self.commandBuffer = [] - self.startupScript = os.environ.get('PYTHONSTARTUP') + self.startupScript = None + def push(self, command): """Send command to the interpreter to be executed. @@ -59,7 +56,14 @@ class Interpreter(InteractiveInterpreter): command we keep appending the pieces to the last list in commandBuffer until we have a complete command. If not, we delete that last list.""" - command = str(command) # In case the command is unicode. + + # In case the command is unicode try encoding it + if type(command) == unicode: + try: + command = command.encode(wx.GetDefaultPyEncoding()) + except UnicodeEncodeError: + pass # otherwise leave it alone + if not self.more: try: del self.commandBuffer[-1] except IndexError: pass