X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/578b389d6ec025acc887d4648df20a366f43882d..40e5ebbf98728d627e4d3c9e3a57f28f5bb8fcb9:/wxPython/wx/py/interpreter.py diff --git a/wxPython/wx/py/interpreter.py b/wxPython/wx/py/interpreter.py index fe95d5e80b..c2415b7458 100644 --- a/wxPython/wx/py/interpreter.py +++ b/wxPython/wx/py/interpreter.py @@ -9,7 +9,7 @@ import sys from code import InteractiveInterpreter import dispatcher import introspect - +import wx class Interpreter(InteractiveInterpreter): """Interpreter based on code.InteractiveInterpreter.""" @@ -17,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 @@ -27,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: @@ -42,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. @@ -53,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