def wrapper(plugin): if issubclass(plugin, RequiredPlatformValidator): raise exceptions.RallyException( "Cannot add a validator to RequiredPlatformValidator") elif issubclass(plugin, Validator) and name != "required_platform": raise exceptions.RallyException( "Only RequiredPlatformValidator can be added " "to other validators as a validator") plugin._meta_setdefault("validators", []) plugin._meta_get("validators").append((name, (), kwargs,)) return plugin
def _load_validators(plugin): validators = plugin._meta_get("validators", default=[]) return [(Validator.get(name), args, kwargs) for name, args, kwargs in validators]