##// END OF EJS Templates
smarter calculation of showed associated changeset in file source view...
smarter calculation of showed associated changeset in file source view - before rhodecode showed TIP changeset when initially displaing file source as description of associated commit this can be misleading. Now smart calculate last commit of a file, and show specific commits when switching from history view

File last commit:

r2494:c4d418b4 beta
r2930:a01c5994 beta
Show More
lazy.py
28 lines | 760 B | text/x-python | PythonLexer
class LazyProperty(object):
"""
Decorator for easier creation of ``property`` from potentially expensive to
calculate attribute of the class.
Usage::
class Foo(object):
@LazyProperty
def bar(self):
print 'Calculating self._bar'
return 42
Taken from http://blog.pythonisito.com/2008/08/lazy-descriptors.html and
used widely.
"""
def __init__(self, func):
self._func = func
self.__module__ = func.__module__
self.__name__ = func.__name__
self.__doc__ = func.__doc__
def __get__(self, obj, klass=None):
if obj is None:
return self
result = obj.__dict__[self.__name__] = self._func(obj)
return result