from util.config.validators import BaseValidator, ConfigValidationException class ActionLogArchivingValidator(BaseValidator): name = "actionlogarchiving" @classmethod def validate(cls, config, user, user_password, app): """ Validates the action log archiving configuration. """ if not config.get('FEATURE_ACTION_LOG_ROTATION', False): return if not config.get('ACTION_LOG_ARCHIVE_PATH'): raise ConfigValidationException('Missing action log archive path') if not config.get('ACTION_LOG_ARCHIVE_LOCATION'): raise ConfigValidationException('Missing action log archive storage location') location = config['ACTION_LOG_ARCHIVE_LOCATION'] storage_config = config.get('DISTRIBUTED_STORAGE_CONFIG') or {} if location not in storage_config: msg = 'Action log archive storage location `%s` not found in storage config' % location raise ConfigValidationException(msg)