@@ -9,20 +9,12 @@ from cpython cimport (
9
9
cdef class CachedProperty(object ):
10
10
11
11
cdef readonly:
12
- object func, name, __doc__ , allow_setting
12
+ object func, name, __doc__
13
13
14
- def __init__ (self , func = None , allow_setting = False ):
15
- if func is not None :
16
- self .func = func
17
- self .name = func.__name__
18
- self .__doc__ = getattr (func, ' __doc__' , None )
19
- self .allow_setting = allow_setting
20
-
21
- def __call__ (self , func , doc = None ):
14
+ def __init__ (self , func ):
22
15
self .func = func
23
16
self .name = func.__name__
24
17
self .__doc__ = getattr (func, ' __doc__' , None )
25
- return self
26
18
27
19
def __get__ (self , obj , typ ):
28
20
# Get the cache or set a default one if needed
@@ -42,21 +34,6 @@ cdef class CachedProperty(object):
42
34
PyDict_SetItem(cache, self .name, val)
43
35
return val
44
36
45
- def __set__ (self , obj , value ):
46
-
47
- if not self .allow_setting:
48
- raise Exception (" cannot set values for [%s ]" % self .name)
49
-
50
- # Get the cache or set a default one if needed
51
- cache = getattr (obj, ' _cache' , None )
52
- if cache is None :
53
- try :
54
- cache = obj._cache = {}
55
- except (AttributeError ):
56
- return
57
-
58
- PyDict_SetItem(cache, self .name, value)
59
-
60
37
61
38
cache_readonly = CachedProperty
62
39
0 commit comments