Files
@ b2b93614a7cd
Branch filter:
Location: kallithea/rhodecode/lib/vcs/utils/lazy.py - annotation
b2b93614a7cd
760 B
text/x-python
Implemented #658 Changing username in LDAP-Mode should not be allowed.
Those username are autocreated, changing them will end up with new account creation after user logs
in again
Those username are autocreated, changing them will end up with new account creation after user logs
in again
324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da c4d418b440d1 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da 324ac367a4da c4d418b440d1 324ac367a4da 324ac367a4da | 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
|