]> git.saurik.com Git - wxWidgets.git/blobdiff - wxPython/wx/py/introspect.py
context help for notebook pages tests added
[wxWidgets.git] / wxPython / wx / py / introspect.py
index ccc97e056a1c828f21beef1834ff4b2bb20db3ad..3e37495d8484335322f5fc9ec23f0de0e4f1a4f4 100644 (file)
@@ -12,6 +12,7 @@ import inspect
 import sys
 import tokenize
 import types
+import wx
 
 def getAutoCompleteList(command='', locals=None, includeMagic=1, 
                         includeSingle=1, includeDouble=1):
@@ -251,14 +252,14 @@ def getRoot(command, terminator=None):
         line = token[4]
         if tokentype is tokenize.ENDMARKER:
             continue
-        if tokentype in (tokenize.NAME, tokenize.STRING, tokenize.NUMBER) \
-        and laststring != '.':
-            # We've reached something that's not part of the root.
-            if prefix and line[token[3][1]] != ' ':
-                # If it doesn't have a space after it, remove the prefix.
-                prefix = ''
-            break
-        if tokentype in (tokenize.NAME, tokenize.STRING, tokenize.NUMBER) \
+        #if tokentype in (tokenize.NAME, tokenize.STRING, tokenize.NUMBER) \
+        #    and laststring != '.':
+        #    # We've reached something that's not part of the root.
+        #    if prefix and line[token[3][1]] != ' ':
+        #        # If it doesn't have a space after it, remove the prefix.
+        #        prefix = ''
+        #    break
+        if tokentype in (tokenize.NAME, tokenize.STRING, tokenize.NUMBER, tokenize.OP) \
         or (tokentype is tokenize.OP and tokenstring == '.'):
             if prefix:
                 # The prefix isn't valid because it comes after a dot.
@@ -291,7 +292,14 @@ def getRoot(command, terminator=None):
 
 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)