From: Robin Dunn Date: Fri, 18 Feb 2005 04:50:41 +0000 (+0000) Subject: Avoid doing a str(object) since in some cases it can result in very X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/006f35560e7a830732f7018c3f35277c148a8aa2 Avoid doing a str(object) since in some cases it can result in very large strings git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32134 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/wxPython/wx/py/introspect.py b/wxPython/wx/py/introspect.py index f134a28ce7..ccc97e056a 100644 --- a/wxPython/wx/py/introspect.py +++ b/wxPython/wx/py/introspect.py @@ -56,11 +56,11 @@ def getAttributeNames(object, includeMagic=1, includeSingle=1, attrdict = getAllAttributeNames(object) # Store the object's dir. object_dir = dir(object) - for (str_obj, technique, count), attrlist in attrdict.items(): + for (obj_type_name, 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': + if type(object).__name__ == obj_type_name and technique == 'dir': attributes += attrlist else: attributes += [attr for attr in attrlist \ @@ -97,10 +97,9 @@ def getAllAttributeNames(object): # They always return true for hasattr(). # !!! try: - # Yes, this can fail if object is an instance of a class with - # __str__ (or __repr__) having a bug or raising an - # exception. :-( - key = str(object) + # This could(?) fail if the type is poorly defined without + # even a name. + key = type(object).__name__ except: key = 'anonymous' # Wake up sleepy objects - a hack for ZODB objects in "ghost" state.