##// END OF EJS Templates
pull requests throw an error if parent of fork didn't have any changesets yet. Now it's filter out from list of available sources
pull requests throw an error if parent of fork didn't have any changesets yet. Now it's filter out from list of available sources

File last commit:

r2494:c4d418b4 beta
r2933:07d620f6 beta
Show More
lazy.py
28 lines | 760 B | text/x-python | PythonLexer
Added VCS into rhodecode core for faster and easier deployments of new versions
r2007 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
small fix for lazy property
r2494 self.__module__ = func.__module__
Added VCS into rhodecode core for faster and easier deployments of new versions
r2007 self.__name__ = func.__name__
self.__doc__ = func.__doc__
def __get__(self, obj, klass=None):
if obj is None:
small fix for lazy property
r2494 return self
Added VCS into rhodecode core for faster and easier deployments of new versions
r2007 result = obj.__dict__[self.__name__] = self._func(obj)
return result