Source code for sidekick.proxy
from .deferred import Proxy, deferred
from .zombie import zombie, ZombieTypes as _ZombieTypes
from .imports import import_later
__all__ = ["Proxy", "deferred", "zombie", "touch", "import_later"]
[docs]def touch(obj):
"""
Return a non-proxy, non-zombie version of object. Regular objects are
returned as-is.
"""
if isinstance(obj, _ZombieTypes):
obj._Zombie__awake()
return obj
elif isinstance(obj, Proxy):
return obj._proxy_obj_
return obj