Mercurial > magic
annotate ___instancecheck__ @ 129:871ed91e9ece
created
| author | 127.0.0.1 |
|---|---|
| date | Sat, 29 Jun 2013 15:28:52 +0200 |
| parents | d6c87ec934b6 |
| children | 7249221d294b |
| rev | line source |
|---|---|
| 93 | 1 {{{#!python |
| 2 def isinstance(thing, classinfo): | |
| 129 | 3 if hasattr(thing, '__instancecheck__'): |
| 4 return thing.__instancecheck__(thing, classinfo) | |
| 5 return issubclass(thing.__class__, classinfo) | |
| 6 | |
| 7 def issubclass(cls, classinfo): | |
| 8 if hasattr(cls, '__subclasscheck__'): | |
| 9 return cls.__subclasscheck__(cls, classinfo) | |
| 10 if classinfo.__class__ != tuple: | |
| 11 classinfo = (classinfo,) | |
| 12 for supeclass in search_classes(cls): | |
| 13 if superclass in classinfo: | |
| 14 return True | |
| 15 return False | |
| 93 | 16 }}} |
