mirror of
https://github.com/django/daphne.git
synced 2025-04-21 17:22:03 +03:00
Improve name_that_thing to handle instance methods
This commit is contained in:
parent
c58db806b6
commit
2732a66e81
|
@ -5,12 +5,17 @@ def name_that_thing(thing):
|
|||
"""
|
||||
Returns either the function/class path or just the object's repr
|
||||
"""
|
||||
# Instance method
|
||||
if hasattr(thing, "im_class"):
|
||||
return name_that_thing(thing.im_class) + "." + thing.im_func.func_name
|
||||
# Other named thing
|
||||
if hasattr(thing, "__name__"):
|
||||
if hasattr(thing, "__class__") and not isinstance(thing, types.FunctionType):
|
||||
if thing.__class__ is not type:
|
||||
return name_that_thing(thing.__class__)
|
||||
if hasattr(thing, "__module__"):
|
||||
return "%s.%s" % (thing.__module__, thing.__name__)
|
||||
# Generic instance of a class
|
||||
if hasattr(thing, "__class__"):
|
||||
return name_that_thing(thing.__class__)
|
||||
return repr(thing)
|
||||
|
|
Loading…
Reference in New Issue
Block a user