code: def is_correct(self):
          valid = True
          for timeperiod in list(self.items.values()):
              timeperiod.rec_tag = False
          for timeperiod in list(self.items.values()):
              for tmp_tp in list(self.items.values()):
                  tmp_tp.rec_tag = False
              valid = timeperiod.check_exclude_rec() and valid
          for timeperiod in list(self.items.values()):
              del timeperiod.rec_tag
              if not timeperiod.is_correct():
                  valid = False
                  source = getattr(timeperiod, 'imported_from', "unknown source")
                  msg = "Configuration in %s::%s is incorrect; from: %s" % (
                      timeperiod.my_type, timeperiod.get_name(), source
                  )
                  self.add_error(msg)
              self.configuration_errors += timeperiod.configuration_errors
              self.configuration_warnings += timeperiod.configuration_warnings
          for timeperiod in self:
              valid = timeperiod.is_correct() and valid
          return valid