You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

40 lines
1.1 KiB

from calculate.parameters.parameters import BaseParameter, Integer,\
String, ValidationError
class MyShinyParameter(BaseParameter):
type = Integer()
def validate(self, var):
if var.value < 10:
raise ValidationError("The value must be greater than 10")
def bind_method(self, var):
return var.value, None
class AnotherParameter(BaseParameter):
type = String()
def bind_method(self):
return 'default string', None
def validate(self, value):
if not value.startswith('/var/lib'):
raise ValidationError("The value must starts with a"
" '/var/lib'")
class OneMoreParameter(BaseParameter):
type = String()
def bind_method(self):
return 'default string', None
def validate(self, value):
available_set = {'mystery', 'horror', 'weird'}
if value not in available_set:
raise ValidationError(f"The value '{value}' is not in"
f" available. Available values:"
f" {', '.join(available_set)}")