class Timer(): list: float = 0 load: float = 0 backup: float = 0 calc: float = 0 apply: float = 0 move: float = 0 restore: float = 0 activate: float = 0 deactivate: float = 0 @property def total(self): return round(self.activate + self.deactivate, 2) @property def summary(self): t = {} for k, v in self.__dict__.items(): if v > 0.1: t[k] = round(v, 2) return t def clear(self, complete: bool = False): self.backup = 0 self.calc = 0 self.apply = 0 self.move = 0 self.restore = 0 if complete: self.activate = 0 self.deactivate = 0 def add(self, name, t): self.__dict__[name] += t def __str__(self): return f'{self.__class__.__name__}({self.summary})'