code: def is_correct(self):
          
          state = True
  
          # Internal checks before executing inherited function...
  
          # If we got the _time parameters, we are time based. Unless, we are not :)
          if hasattr(self, 'first_notification_time') or hasattr(self, 'last_notification_time'):
              self.time_based = True
  
          # Ok now we manage special cases...
          if not hasattr(self, 'contacts') and not hasattr(self, 'contact_groups'):
              self.add_error('%s: I do not have contacts nor contact_groups' % (self.get_name()))
              state = False
  
          # If time_based or not, we do not check all properties
          if self.time_based:
              if not hasattr(self, 'first_notification_time'):
                  self.add_error('%s: I do not have first_notification_time' % (self.get_name()))
                  state = False
              if not hasattr(self, 'last_notification_time'):
                  self.add_error('%s: I do not have last_notification_time' % (self.get_name()))
                  state = False
          else:  # we check classical properties
              if not hasattr(self, 'first_notification'):
                  self.add_error('%s: I do not have first_notification' % (self.get_name()))
                  state = False
              if not hasattr(self, 'last_notification'):
                  self.add_error('%s: I do not have last_notification' % (self.get_name()))
                  state = False
  
          # Change the special_properties definition according to time_based ...
          save_special_properties = self.special_properties
          if self.time_based:
              self.special_properties = self.special_properties_time_based
  
          state_parent = super(Escalation, self).is_correct()
  
          if self.time_based:
              self.special_properties = save_special_properties
  
          return state_parent and state
docs: Check if this object configuration is correct ::
  
          * Check our own specific properties
          * Call our parent class is_correct checker
  
          :return: True if the configuration is correct, otherwise False
          :rtype: bool