You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
12 lines
271 B
12 lines
271 B
1 year ago
|
class Freezable:
|
||
|
_frozen: bool = False
|
||
|
|
||
|
def freeze(self):
|
||
|
if not self._frozen:
|
||
|
self._frozen = True
|
||
|
|
||
|
def __setattr__(self, *args, **kwargs):
|
||
|
if self._frozen:
|
||
|
raise Exception("cannot modify frozen object")
|
||
|
super().__setattr__(*args, **kwargs)
|