[Python-bugs-list] [ python-Bugs-718532 ] inspect, class instances and __getattr__
SourceForge.net
noreply@sourceforge.net
Wed, 09 Apr 2003 13:01:14 -0700
Bugs item #718532, was opened at 2003-04-09 22:01
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=718532&group_id=5470
Category: Python Library
Group: Python 2.2.2
Status: Open
Resolution: None
Priority: 5
Submitted By: Stefan Schwarzer (sschwarzer)
Assigned to: Nobody/Anonymous (nobody)
Summary: inspect, class instances and __getattr__
Initial Comment:
inspect.isclass(class_instance) fails if the
corresponding class uses a "wildcard" implementation of
__getattr__.
Example:
Python 2.2.2 (#1, Nov 13 2002, 22:53:57)
[GCC 2.95.4 20020320 [FreeBSD]] on freebsd4
Type "help", "copyright", "credits" or "license" for
more information.
>>> import inspect
>>> class X:
... def __getattr__(self, name):
... if name == 'foo':
... return 1
... if name == 'bar':
... return 2
... else:
... return "default"
...
>>> x = X()
>>> inspect.isclass(x)
1
The problematic expression in inspect.isclass is
hasattr(object, '__bases__') which returns a true value.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=718532&group_id=5470