]>
git.ipfire.org Git - ipfire.org.git/blob - src/backend/decorators.py
8 class lazy_property(property):
10 The property is only computed once and then being
11 cached until the end of the lifetime of the object.
13 def __init__(self
, fget
, fset
=None, fdel
=None, doc
=None, name
=None):
14 property.__init
__(self
, fget
=fget
, fset
=fset
, fdel
=fdel
, doc
=doc
)
16 self
.__name
__ = name
or fget
.__name
__
17 self
.__module
__ = fget
.__module
__
19 def __get__(self
, obj
, type=None):
23 value
= obj
.__dict
__.get(self
.__name
__, _missing
)
25 obj
.__dict
__[self
.__name
__] = value
= self
.fget(obj
)
29 def __set__(self
, obj
, value
):
33 obj
.__dict
__[self
.__name
__] = value