class A: reentrant_context_manager = CachedProperty( lambda self: get_depth_counting_context_manager()) @reentrant_context_manager def my_method(self, x, y=3): return (x, y, self.reentrant_context_manager.depth)
class A: reentrant_context_manager = CachedProperty( lambda self: context_management.ReentrantContextManager()) @reentrant_context_manager def my_method(self, x, y=3): return (x, y, self.reentrant_context_manager.depth)
class A: personality = CachedProperty(counting_func, name='meow')
class B: brrr_property = CachedProperty('brrr')
class A: personality = CachedProperty(counting_func)
class A: personality = CachedProperty(counting_func, force_value_not_getter=True)
class C: undocced_property = CachedProperty(lambda self: 1 / 0, )
class B: personality = CachedProperty(counting_func, doc='''Ooga booga.''')
class A(object): personality = CachedProperty(counting_func, name='personality')
class B(object): brrr_property = CachedProperty('brrr')
class C(object): undocced_property = CachedProperty(lambda self: 1 / 0, )