On 10/09/2013 03:36 PM, Nick Coghlan wrote:
On 10 Oct 2013 08:07, "Ethan Furman" wrote:
On 10/09/2013 02:46 PM, Nick Coghlan wrote:
On 10 Oct 2013 03:39, "Ethan Furman" wrote:

My apologies.  I am actually talking about the module.  I meant
 inspect.get_members() and inspect.classify_class_attrs(), which,
 as near as I can tell, are the only two functions in inspect that
 attempt to retrieve/look at all of an object's attributes.

Those have to depend on __dir__ so classes (especially proxies)
 can accurately report *extra* dynamically accessible names.

Indeed, my rough idea is to use the results of the new dir() and
 combining that with the results of the old dir().  The use case
 being that some classes *ahem* Enum *ahem* may report *less* than
 is actually available, but introspection should reveal whatever is
 there even if dir() is not reporting it.

Not necessarily. For autocompletion, for example, you probably
only want the public stuff. That's why I'm inclined to suggest
 the existing functions should continue to only report advertised
attributes, with a separate introspection API that tries harder
 to find all accessible attributes (potentially including those
from the metaclass). That way users can choose the one most
 appropriate to their use case, as well as being able to use the
 latter to help test custom dir support.

That makes sense.

So what should the new functions be called?  get_all_members and 
classify_all_class_attrs ?

--
~Ethan~
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to