]> git.saurik.com Git - wxWidgets.git/commitdiff
Don't do str() on Numeric arrays
authorRobin Dunn <robin@alldunn.com>
Mon, 7 Feb 2005 20:43:00 +0000 (20:43 +0000)
committerRobin Dunn <robin@alldunn.com>
Mon, 7 Feb 2005 20:43:00 +0000 (20:43 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@31830 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

wxPython/wx/py/introspect.py

index 5b2702277af6ef1d0f0cbf2fa5501e919fdfc07b..f134a28ce74f9dc95a7ce3ca4d3d969a1ebca082 100644 (file)
@@ -49,18 +49,22 @@ def getAttributeNames(object, includeMagic=1, includeSingle=1,
         try: attributes += object._getAttributeNames()
         except: pass
     # Get all attribute names.
-    attrdict = getAllAttributeNames(object)
-    # Store the object's dir.
-    object_dir = dir(object)
-    for (str_obj, technique, count), attrlist in attrdict.items():
-        # This complexity is necessary to avoid accessing all the
-        # attributes of the object.  This is very handy for objects
-        # whose attributes are lazily evaluated.
-        if str(object) == str_obj and technique == 'dir':
-            attributes += attrlist
-        else:
-            attributes += [attr for attr in attrlist \
-                           if attr not in object_dir and hasattr(object, attr)]
+    str_type = str(type(object))
+    if str_type == "<type 'array'>":
+        attributes += dir(object)
+    else:
+        attrdict = getAllAttributeNames(object)
+        # Store the object's dir.
+        object_dir = dir(object)
+        for (str_obj, technique, count), attrlist in attrdict.items():
+            # This complexity is necessary to avoid accessing all the
+            # attributes of the object.  This is very handy for objects
+            # whose attributes are lazily evaluated.
+            if str(object) == str_obj and technique == 'dir':
+                attributes += attrlist
+            else:
+                attributes += [attr for attr in attrlist \
+                               if attr not in object_dir and hasattr(object, attr)]
             
     # Remove duplicates from the attribute list.
     for item in attributes: