Be a little smarter about converting unicode command-lines to string objects.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@33055 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -9,7 +9,7 @@ import sys
|
|||||||
from code import InteractiveInterpreter
|
from code import InteractiveInterpreter
|
||||||
import dispatcher
|
import dispatcher
|
||||||
import introspect
|
import introspect
|
||||||
|
import wx
|
||||||
|
|
||||||
class Interpreter(InteractiveInterpreter):
|
class Interpreter(InteractiveInterpreter):
|
||||||
"""Interpreter based on code.InteractiveInterpreter."""
|
"""Interpreter based on code.InteractiveInterpreter."""
|
||||||
@@ -53,7 +53,14 @@ class Interpreter(InteractiveInterpreter):
|
|||||||
command we keep appending the pieces to the last list in
|
command we keep appending the pieces to the last list in
|
||||||
commandBuffer until we have a complete command. If not, we
|
commandBuffer until we have a complete command. If not, we
|
||||||
delete that last list."""
|
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:
|
if not self.more:
|
||||||
try: del self.commandBuffer[-1]
|
try: del self.commandBuffer[-1]
|
||||||
except IndexError: pass
|
except IndexError: pass
|
||||||
|
@@ -12,6 +12,7 @@ import inspect
|
|||||||
import sys
|
import sys
|
||||||
import tokenize
|
import tokenize
|
||||||
import types
|
import types
|
||||||
|
import wx
|
||||||
|
|
||||||
def getAutoCompleteList(command='', locals=None, includeMagic=1,
|
def getAutoCompleteList(command='', locals=None, includeMagic=1,
|
||||||
includeSingle=1, includeDouble=1):
|
includeSingle=1, includeDouble=1):
|
||||||
@@ -291,7 +292,14 @@ def getRoot(command, terminator=None):
|
|||||||
|
|
||||||
def getTokens(command):
|
def getTokens(command):
|
||||||
"""Return list of token tuples for 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)
|
f = cStringIO.StringIO(command)
|
||||||
# tokens is a list of token tuples, each looking like:
|
# tokens is a list of token tuples, each looking like:
|
||||||
# (type, string, (srow, scol), (erow, ecol), line)
|
# (type, string, (srow, scol), (erow, ecol), line)
|
||||||
|
Reference in New Issue
Block a user