| t | class ParDescr: | t | class ParDescr: |
| | | |
| def __init__(self, initial): | | def __init__(self, initial): |
| self.initial = initial | | self.initial = initial |
| self.storage_name = '_pardescr_' + str(id(self)) | | self.storage_name = '_pardescr_' + str(id(self)) |
| | | |
| def __get__(self, instance, owner): | | def __get__(self, instance, owner): |
| if instance is None: | | if instance is None: |
| return self.initial | | return self.initial |
| return instance.__dict__.get(self.storage_name, self.initial) | | return instance.__dict__.get(self.storage_name, self.initial) |
| | | |
| def __set__(self, instance, value): | | def __set__(self, instance, value): |
| instance.__dict__[self.storage_name] = value | | instance.__dict__[self.storage_name] = value |
| | | |
| def __delete__(self, instance): | | def __delete__(self, instance): |
| if self.storage_name in instance.__dict__: | | if self.storage_name in instance.__dict__: |
| del instance.__dict__[self.storage_name] | | del instance.__dict__[self.storage_name] |
| else: | | else: |
| raise KeyError | | raise KeyError |