n | class SizerClass: | n | class Dsc: |
| | | |
| def __init__(self): | | def __init__(self): |
n | self._value = 0 | n | self.size = None |
| | | |
| def __get__(self, obj, cls): | | def __get__(self, obj, cls): |
n | if self._value: | n | if self.size: |
| return self._value | | return self.size |
| try: | | try: |
| return len(obj) | | return len(obj) |
| except: | | except: |
| try: | | try: |
| return abs(obj) | | return abs(obj) |
| except: | | except: |
| return 0 | | return 0 |
| | | |
| def __set__(self, obj, val): | | def __set__(self, obj, val): |
n | self._value = val | n | self.size = val |
| | | |
| def __delete__(self, obj): | | def __delete__(self, obj): |
n | self._value = None | n | self.size = None |
| | | |
| def sizer(cls): | | def sizer(cls): |
t | cls.size = SizerClass() | t | cls.size = Dsc() |
| return cls | | return cls |