1
Fork 0
mirror of https://github.com/RYGhub/royalnet.git synced 2024-11-27 13:34:28 +00:00
royalnet/utils/dirty.py

33 lines
769 B
Python
Raw Normal View History

2018-12-18 16:34:34 +00:00
class Dirty:
def __init__(self, initial_value):
self.initial_value = initial_value
self.value = initial_value
def is_clean(self):
return self.initial_value == self.value
def is_dirty(self):
return not self.is_clean()
def __bool__(self):
return self.is_dirty()
2019-01-23 14:00:30 +00:00
class DirtyDelta(Dirty):
@property
def delta(self):
2019-03-01 16:45:23 +00:00
if self.initial_value is None:
initial_value = 0
else:
initial_value = self.initial_value
if self.value is None:
value = 0
else:
value = self.value
2019-03-05 09:03:43 +00:00
return abs(value - initial_value)
2019-01-23 14:00:30 +00:00
2019-03-05 09:03:43 +00:00
def delta_string(self):
if self.delta > 0:
return f"+{self.delta}"
return self.delta