from code import InteractiveInterpreter
import dispatcher
import introspect
-
+import wx
class Interpreter(InteractiveInterpreter):
"""Interpreter based on code.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
import sys
import tokenize
import types
+import wx
def getAutoCompleteList(command='', locals=None, includeMagic=1,
includeSingle=1, includeDouble=1):
def getTokens(command):
"""Return list of token tuples for command."""
- command = str(command) # In case the command is unicode, which fails.
+
+ # 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
+
f = cStringIO.StringIO(command)
# tokens is a list of token tuples, each looking like:
# (type, string, (srow, scol), (erow, ecol), line)