Python voluptuous.Length() Examples
The following are 7
code examples of voluptuous.Length().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
voluptuous
, or try the search function
.
Example #1
Source File: config.py From spid-testenv2 with GNU Affero General Public License v3.0 | 7 votes |
def _init_schema(self): self._schema = { Required('key_file'): str, Required('cert_file'): str, Required('base_url'): Url(), 'host': str, 'port': Any(int, str), 'debug': bool, 'https': bool, 'https_cert_file': str, 'https_key_file': str, 'users_file': str, 'behind_reverse_proxy': bool, 'can_add_user': bool, 'storage': All(str, In(['file', 'postgres'])), 'db_url': str, 'endpoints': { 'single_logout_service': str, 'single_sign_on_service': str, }, 'metadata': { 'local': All([str], Length(min=0)), 'remote': All([str], Length(min=0)), } }
Example #2
Source File: test_schema.py From lxdock with GNU General Public License v3.0 | 6 votes |
def test_raise_invalid_if_provisioner_schema_is_not_satisfied(self, mock_Provisioner): mock_Provisioner.provisioners = { 'mp1': MockProvisioner1, 'mp2': MockProvisioner2, 'mp3': MockProvisioner3} schema = get_schema() with pytest.raises(Invalid) as e: schema({ 'name': 'dummy-test', 'provisioning': [{ 'type': 'mp1', 'a': 'dummy', 'b': '16' }, { 'type': 'mp2', 'a': 'dummydummy', # Exceeds Length(min=5, max=5) }, { 'type': 'mp3', 'b': 'yes' }] }) assert "['provisioning'][1]['a']" in str(e)
Example #3
Source File: resource_type.py From gnocchi with Apache License 2.0 | 5 votes |
def schema_ext(self): return voluptuous.All(six.text_type, voluptuous.Length( min=self.min_length, max=self.max_length))
Example #4
Source File: api.py From gnocchi with Apache License 2.0 | 5 votes |
def MetricSchema(v): """metric keyword schema It could be: ["metric", "metric-ref", "aggregation"] or ["metric, ["metric-ref", "aggregation"], ["metric-ref", "aggregation"]] """ if not isinstance(v, (list, tuple)): raise voluptuous.Invalid("Expected a tuple/list, got a %s" % type(v)) elif not v: raise voluptuous.Invalid("Operation must not be empty") elif len(v) < 2: raise voluptuous.Invalid("Operation need at least one argument") elif v[0] != u"metric": # NOTE(sileht): this error message doesn't looks related to "metric", # but because that the last schema validated by voluptuous, we have # good chance (voluptuous.Any is not predictable) to print this # message even if it's an other operation that invalid. raise voluptuous.Invalid("'%s' operation invalid" % v[0]) return [u"metric"] + voluptuous.Schema(voluptuous.Any( voluptuous.ExactSequence([six.text_type, six.text_type]), voluptuous.All( voluptuous.Length(min=1), [voluptuous.ExactSequence([six.text_type, six.text_type])], )), required=True)(v[1:])
Example #5
Source File: test_voluptuous.py From pydantic with MIT License | 5 votes |
def __init__(self, allow_extra): self.schema = v.Schema( { v.Required('id'): int, v.Required('client_name'): v.All(str, v.Length(max=255)), v.Required('sort_index'): float, # v.Optional('client_email'): v.Maybe(v.Email), v.Optional('client_phone'): v.Maybe(v.All(str, v.Length(max=255))), v.Optional('location'): v.Maybe( v.Schema( { 'latitude': v.Maybe(float), 'longitude': v.Maybe(float) }, required=True ) ), v.Optional('contractor'): v.Maybe(v.All(v.Coerce(int), v.Range(min=1))), v.Optional('upstream_http_referrer'): v.Maybe(v.All(str, v.Length(max=1023))), v.Required('grecaptcha_response'): v.All(str, v.Length(min=20, max=1000)), v.Optional('last_updated'): v.Maybe(parse_datetime), v.Required('skills', default=[]): [ v.Schema( { v.Required('subject'): str, v.Required('subject_id'): int, v.Required('category'): str, v.Required('qual_level'): str, v.Required('qual_level_id'): int, v.Required('qual_level_ranking', default=0): float, } ) ], }, extra=allow_extra, )
Example #6
Source File: api.py From gnocchi with Apache License 2.0 | 4 votes |
def MetricSchema(definition): creator = pecan.request.auth_helper.get_current_user( pecan.request) # First basic validation schema = voluptuous.Schema({ "archive_policy_name": six.text_type, "resource_id": functools.partial(ResourceID, creator=creator), "name": six.text_type, voluptuous.Optional("unit"): voluptuous.All(six.text_type, voluptuous.Length(max=31)), }) definition = schema(definition) archive_policy_name = definition.get('archive_policy_name') name = definition.get('name') if name and '/' in name: abort(400, "'/' is not supported in metric name") if archive_policy_name is None: try: ap = pecan.request.indexer.get_archive_policy_for_metric(name) except indexer.NoArchivePolicyRuleMatch: # NOTE(jd) Since this is a schema-like function, we # should/could raise ValueError, but if we do so, voluptuous # just returns a "invalid value" with no useful message – so we # prefer to use abort() to make sure the user has the right # error message abort(400, "No archive policy name specified " "and no archive policy rule found matching " "the metric name %s" % name) else: definition['archive_policy_name'] = ap.name resource_id = definition.get('resource_id') if resource_id is None: original_resource_id = None else: if name is None: abort(400, {"cause": "Attribute value error", "detail": "name", "reason": "Name cannot be null " "if resource_id is not null"}) original_resource_id, resource_id = resource_id enforce("create metric", { "creator": creator, "archive_policy_name": archive_policy_name, "resource_id": resource_id, "original_resource_id": original_resource_id, "name": name, "unit": definition.get('unit'), }) return definition
Example #7
Source File: api.py From gnocchi with Apache License 2.0 | 4 votes |
def _ResourceSearchSchema(): user = pecan.request.auth_helper.get_current_user( pecan.request) _ResourceUUID = functools.partial(ResourceUUID, creator=user) return voluptuous.Schema( voluptuous.All( voluptuous.Length(min=0, max=1), { voluptuous.Any( u"=", u"==", u"eq", u"<", u"lt", u">", u"gt", u"<=", u"≤", u"le", u">=", u"≥", u"ge", u"!=", u"≠", u"ne", ): voluptuous.All( voluptuous.Length(min=1, max=1), {"id": _ResourceUUID, NotIDKey: ResourceSearchSchemaAttributeValue}, ), u"like": voluptuous.All( voluptuous.Length(min=1, max=1), {NotIDKey: ResourceSearchSchemaAttributeValue}, ), u"in": voluptuous.All( voluptuous.Length(min=1, max=1), {"id": voluptuous.All( [_ResourceUUID], voluptuous.Length(min=1)), NotIDKey: voluptuous.All( [ResourceSearchSchemaAttributeValue], voluptuous.Length(min=1))} ), voluptuous.Any( u"and", u"∨", u"or", u"∧", ): voluptuous.All( [ResourceSearchSchema], voluptuous.Length(min=1) ), u"not": ResourceSearchSchema, } ) )