123456789101112131415161718192021 |
- class WarningsTracker(object):
- def __init__(self, warning_level):
- self.warning_level = warning_level
- self._checked = {}
- def check_warning(self, warning):
- if self.warning_level > 0 and not warning.canceled:
- self.warning_level -= 1
- return True
- else:
- return False
- def is_warning_active(self, warning):
- try:
- return self._checked[warning.pk]
- except KeyError:
- self._checked[warning.pk] = self.check_warning(warning)
- return self._checked[warning.pk]
- def is_warning_expired(self, warning):
- return not self.is_warning_active(warning)
|