accessors
soft_prop
soft_prop(wraps)
Create an over-writable property
Example
class MyClass
    @soft_prop
    def a_soft_prop(self):
        return 'red'
    @property
    def a_hard_prop(self):
        return 'red'
my_instance = MyClass()
my_instance.a_hard_prop = 'blue'  # raises error
print(my_instance.a_hard_prop)  # still prints red
my_instance.a_soft_prop = 'blue'  # allowed!
print(my_instance.softy)  # prints blue
Source code in cassini/accessors.py
              48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74  |  | 
cached_prop
cached_prop(wrapped)
Decorator for turning functions/ methods into _CachedProps.
Example
class MyClass:
    def __init__(self):
        self.count = 0
    @cached_prop
    def count_once(self):
        self.count += 1
        return count
my_instance = MyClass
print(my_instance.count_once)  # prints 1
print(my_instance.count_once)  # ... still prints 1!
Source code in cassini/accessors.py
              118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141  |  | 
cached_class_prop
cached_class_prop(wrapped)
Decorator for turning functions/ methods into _CachedClassProps.
First argument of wrapped will be self.__class__ rather than self.
Example
class MyClass:
    count = 0
    @cached_class_prop
    def count_once(cls):
        cls.count += 1
        return count
print(MyClass.count_once)  # prints 1
print(MyClass.count_once)  # ... still prints 1!
Source code in cassini/accessors.py
              176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199  |  |