def notify(self, alert, alert_key, level, description):
        notified = self._storage.is_locked_for_domain_and_key(
            self._domain,
            alert_key
        )
        should_notify = (Level.WARNING, Level.CRITICAL, Level.NO_DATA)
        if level == Level.NOMINAL and notified:
            self._notify(
                alert,
                level,
                description,
                nominal=True
            )
            self._storage.remove_lock_for_domain_and_key(
                self._domain,
                alert_key
            )
        elif level in should_notify and not notified:
            self._notify(
                alert,
                level,
                description,
                nominal=False
            )
            self._storage.set_lock_for_domain_and_key(
                self._domain,
                alert_key
            )
dataset/ETHPy150Open seatgeek/graphite-pager/graphitepager/notifiers/base.py/BaseNotifier.notify/original