"" "Schema validation for Python data structures.
Given eg. a nested data structure like this:
{
'exclude' : ['Users' , 'Uptime' ],
'include' : [],
'set' : {
'snmp_community' : 'public' ,
'snmp_timeout' : 15 ,
'snmp_version' : '2c' ,
},
'targets' : {
'localhost' : {
'exclude' : ['Uptime' ],
'features' : {
'Uptime' : {
'retries' : 3 ,
},
'Users' : {
'snmp_community' : 'monkey' ,
'snmp_port' : 15 ,
},
},
'include' : ['Users' ],
'set' : {
'snmp_community' : 'monkeys' ,
},
},
},
}
A schema like this:
>>> settings = {
... 'snmp_community' : str,
... 'retries' : int,
... 'snmp_version' : All(Coerce(str), Any('3' , '2c' , '1' )),
... }
>>> features = ['Ping' , 'Uptime' , 'Http' ]
>>> schema = Schema({
... 'exclude' : features,
... 'include' : features,
... 'set' : settings,
... 'targets' : {
... 'exclude' : features,
... 'include' : features,
... 'features' : {
... str: settings,
... },
... },
... })
Validate like so:
>>> schema({
... 'set' : {
... 'snmp_community' : 'public' ,
... 'snmp_version' : '2c' ,
... },
... 'targets' : {
... 'exclude' : ['Ping' ],
... 'features' : {
... 'Uptime' : {'retries' : 3 },
... 'Users' : {'snmp_community' : 'monkey' },
... },
... },
... }) == {
... 'set' : {'snmp_version' : '2c' , 'snmp_community' : 'public' },
... 'targets' : {
... 'exclude' : ['Ping' ],
... 'features' : {'Uptime' : {'retries' : 3 },
... 'Users' : {'snmp_community' : 'monkey' }}}}
True
"" "
# flake8: noqa
# fmt: off
from voluptuous.schema_builder import *
from voluptuous.util import *
from voluptuous.validators import *
from voluptuous.error import * # isort: skip
# fmt: on
__version__ = '0.15.2'
__author__ = 'alecthomas'
Messung V0.5 in Prozent C=90 H=86 G=87
¤ Dauer der Verarbeitung: 0.2 Sekunden
¤
*© Formatika GbR, Deutschland