matiasmenares/Nissboard

View on GitHub
dashboard/core/alarm.py

Summary

Maintainability
A
3 hrs
Test Coverage

Showing 5 of 5 total issues

Function send has a Cognitive Complexity of 13 (exceeds 5 allowed). Consider refactoring.
Open

def send(self, responses):
for alarm in self.alarm_obj:
if self.alarm_outputs:
conditions = []
for alarm_output in self.alarm_outputs:
Severity: Minor
Found in dashboard/core/alarm.py - About 1 hr to fix

Function set_hierarchy has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
Open

def set_hierarchy(self, alarm, alart_outputs, responses):
if self.current_alarm_type_id == None:
self.emit(alarm, alart_outputs, responses)
else:
if alarm.alarm_type_id > self.current_alarm_type_id:
Severity: Minor
Found in dashboard/core/alarm.py - About 45 mins to fix

Avoid too many return statements within this function.
Open

return self.greater_than_or_equal_to(condition, output)
Severity: Major
Found in dashboard/core/alarm.py - About 30 mins to fix

    Avoid too many return statements within this function.
    Open

    return False
    Severity: Major
    Found in dashboard/core/alarm.py - About 30 mins to fix

      Function validate_condition has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
      Open

      def validate_condition(self, condition, output):
      if condition.condition_id == 1:
      return self.greater_than(condition, output)
      elif condition.condition_id == 2:
      return self.greater_than_or_equal_to(condition, output)
      Severity: Minor
      Found in dashboard/core/alarm.py - About 25 mins to fix
      Category
      Status