def deduplicate(self): now = datetime.utcnow() previous_status, previous_value = db.get_status_and_value(self) self.status = status_code.status_from_severity( previous_severity=self.severity, current_severity=self.severity, previous_status=previous_status, current_status=self.status) self.repeat = True self.last_receive_id = self.id self.last_receive_time = now if self.status != previous_status: history = History(id=self.id, event=self.event, status=self.status, text='duplicate alert with status change', change_type='status', update_time=self.create_time) elif current_app.config[ 'HISTORY_ON_VALUE_CHANGE'] and self.value != previous_value: history = History(id=self.id, event=self.event, value=self.value, text='duplicate alert with value change', change_type='value', update_time=self.create_time) else: history = None return Alert.from_db(db.dedup_alert(self, history))
def deduplicate(self): now = datetime.utcnow() previous_status, previous_value = db.get_status_and_value(self) self.status = status_code.status_from_severity( previous_severity=self.severity, current_severity=self.severity, previous_status=previous_status, current_status=self.status) self.repeat = True self.last_receive_id = self.id self.last_receive_time = now if self.status != previous_status: history = History(id=self.id, event=self.event, status=self.status, text="duplicate alert with status change", change_type="status", update_time=now) elif self.value != previous_value: history = History(id=self.id, event=self.event, value=self.value, text="duplicate alert with value change", change_type="value", update_time=now) else: history = None return Alert.from_db(db.dedup_alert(self, history))
def deduplicate(self) -> 'Alert': now = datetime.utcnow() previous_status, previous_value = db.get_status_and_value(self) _, self.status = alarm_model.transition( previous_severity=self.severity, current_severity=self.severity, previous_status=previous_status, current_status=self.status) self.repeat = True self.last_receive_id = self.id self.last_receive_time = now from typing import Optional # noqa if self.status != previous_status: history = History( id=self.id, event=self.event, status=self.status, text='duplicate alert with status change', change_type='status', update_time=self.create_time) # type: Optional[History] elif current_app.config[ 'HISTORY_ON_VALUE_CHANGE'] and self.value != previous_value: history = History(id=self.id, event=self.event, value=self.value, text='duplicate alert with value change', change_type='value', update_time=self.create_time) else: history = None return Alert.from_db(db.dedup_alert(self, history))
def deduplicate(self, duplicate_of) -> 'Alert': now = datetime.utcnow() status, previous_value, previous_status, _ = self._get_hist_info() _, new_status = alarm_model.transition(alert=self, current_status=status, previous_status=previous_status) self.repeat = True self.last_receive_id = self.id self.last_receive_time = now if new_status != status: r = status_change_hook.send(duplicate_of, status=new_status, text=self.text) _, (_, new_status, text) = r[0] self.update_time = now history = History( id=self.id, event=self.event, severity=self.severity, status=new_status, value=self.value, text=text, change_type=ChangeType.status, update_time=self.create_time, user=g.login, timeout=self.timeout, ) # type: Optional[History] elif current_app.config[ 'HISTORY_ON_VALUE_CHANGE'] and self.value != previous_value: history = History( id=self.id, event=self.event, severity=self.severity, status=status, value=self.value, text=self.text, change_type=ChangeType.value, update_time=self.create_time, user=g.login, timeout=self.timeout, ) else: history = None self.status = new_status return Alert.from_db(db.dedup_alert(self, history))
def deduplicate(self, duplicate_of) -> 'Alert': now = datetime.utcnow() status, previous_value, previous_status = self._get_hist_info() _, new_status = alarm_model.transition( alert=self, current_status=status, previous_status=previous_status ) self.repeat = True self.last_receive_id = self.id self.last_receive_time = now if new_status != status: text = 'duplicate alert (with status change)' r = status_change_hook.send(duplicate_of, status=new_status, text=text) _, (_, new_status, text) = r[0] self.update_time = now history = History( id=self.id, event=self.event, severity=self.severity, status=new_status, value=self.value, text=text, change_type='status', update_time=self.create_time, user=g.login, ) # type: Optional[History] elif current_app.config['HISTORY_ON_VALUE_CHANGE'] and self.value != previous_value: history = History( id=self.id, event=self.event, severity=self.severity, status=status, value=self.value, text='duplicate alert (with value change)', change_type='value', update_time=self.create_time, user=g.login ) else: history = None self.status = new_status return Alert.from_db(db.dedup_alert(self, history))
def deduplicate(self) -> 'Alert': now = datetime.utcnow() status, previous_value, previous_status = self._get_hist_info() _, new_status = alarm_model.transition( alert=self, current_status=status, previous_status=previous_status ) self.repeat = True self.last_receive_id = self.id self.last_receive_time = now if new_status != status: history = History( id=self.id, event=self.event, severity=self.severity, status=new_status, value=self.value, text='duplicate alert (with status change)', change_type='status', update_time=self.create_time, user=g.user, ) # type: Optional[History] self.update_time = now status_change_hook.send(self, status=new_status, text=self.text) elif current_app.config['HISTORY_ON_VALUE_CHANGE'] and self.value != previous_value: history = History( id=self.id, event=self.event, severity=self.severity, status=status, value=self.value, text='duplicate alert (with value change)', change_type='value', update_time=self.create_time, user=g.user ) else: history = None self.status = new_status return Alert.from_db(db.dedup_alert(self, history))
def deduplicate(self): now = datetime.utcnow() previous_status = db.get_status(self) if self.status == status_code.UNKNOWN or self.status == previous_status: self.status = status_code.status_from_severity( self.severity, self.severity, previous_status) self.repeat = True self.last_receive_id = self.id self.last_receive_time = now if self.status != previous_status: history = History(id=self.id, event=self.event, status=self.status, text="duplicate alert status change", change_type="status", update_time=now) else: history = None return Alert.from_db(db.dedup_alert(self, history))
def deduplicate(self): now = datetime.utcnow() previous_status = db.get_status(self) if self.status == status_code.UNKNOWN or self.status == previous_status: self.status = status_code.status_from_severity(self.severity, self.severity, previous_status) self.repeat = True self.last_receive_id = self.id self.last_receive_time = now if self.status != previous_status: history = History( id=self.id, event=self.event, status=self.status, text="duplicate alert status change", change_type="status", update_time=now ) else: history = None return Alert.from_db(db.dedup_alert(self, history))