n | def sizer(x): | n | def sizer(cls): |
| | | |
| def get_size(self): | | def get_size(self): |
n | if hasattr(self, '__mysize'): | n | if hasattr(self, '_size'): |
| return self.__mysize | | return self._size |
| else: | | try: |
| | | return len(self) |
| | | except TypeError: |
| try: | | try: |
n | return len(self) | n | return abs(self) |
| except TypeError: | | except TypeError: |
n | try: | n | |
| return abs(self) | | |
| except TypeError: | | |
| return 0 | | return 0 |
| | | |
| def set_size(self, value): | | def set_size(self, value): |
n | self.__mysize = value | n | self._size = value |
| | | |
| def del_size(self): | | def del_size(self): |
t | if hasattr(self, '__mysize'): | t | if hasattr(self, '_size'): |
| del self.__mysize | | del self._size |
| else: | | |
| pass | | |
| x.size = property(get_size, set_size, del_size) | | cls.size = property(get_size, set_size, del_size) |
| return x | | return cls |