Validators Submodule¶
-
class
rfc3986.validators.
Validator
¶ Object used to configure validation of all objects in rfc3986.
New in version 1.0.
Example usage:
>>> from rfc3986 import api, validators >>> uri = api.uri_reference('https://github.com/') >>> validator = validators.Validator().require_presence_of( ... 'scheme', 'host', 'path', ... ).allow_schemes( ... 'http', 'https', ... ).allow_hosts( ... '127.0.0.1', 'github.com', ... ) >>> validator.validate(uri) >>> invalid_uri = rfc3986.uri_reference('imap://mail.google.com') >>> validator.validate(invalid_uri) Traceback (most recent call last): ... rfc3986.exceptions.MissingComponentError: ('path was required but missing', URIReference(scheme=u'imap', authority=u'mail.google.com', path=None, query=None, fragment=None), ['path'])
-
Validator.
allow_schemes
(*schemes)¶ Require the scheme to be one of the provided schemes.
New in version 1.0.
- Parameters
schemes – Schemes, without
://
that are allowed.- Returns
The validator instance.
- Return type
-
Validator.
allow_hosts
(*hosts)¶ Require the host to be one of the provided hosts.
New in version 1.0.
- Parameters
hosts – Hosts that are allowed.
- Returns
The validator instance.
- Return type
-
Validator.
allow_ports
(*ports)¶ Require the port to be one of the provided ports.
New in version 1.0.
- Parameters
ports – Ports that are allowed.
- Returns
The validator instance.
- Return type
-
Validator.
allow_use_of_password
()¶ Allow passwords to be present in the URI.
New in version 1.0.
- Returns
The validator instance.
- Return type
-
Validator.
check_validity_of
(*components)¶ Check the validity of the components provided.
This can be specified repeatedly.
New in version 1.1.
- Parameters
components – Names of components from
Validator.COMPONENT_NAMES
.- Returns
The validator instance.
- Return type
-
Validator.
forbid_use_of_password
()¶ Prevent passwords from being included in the URI.
New in version 1.0.
- Returns
The validator instance.
- Return type
-
Validator.
require_presence_of
(*components)¶ Require the components provided.
This can be specified repeatedly.
New in version 1.0.
- Parameters
components – Names of components from
Validator.COMPONENT_NAMES
.- Returns
The validator instance.
- Return type
-
Validator.
validate
(uri)¶ Check a URI for conditions specified on this validator.
New in version 1.0.
- Parameters
uri (rfc3986.uri.URIReference) – Parsed URI to validate.
- Raises
MissingComponentError – When a required component is missing.
UnpermittedComponentError – When a component is not one of those allowed.
PasswordForbidden – When a password is present in the userinfo component but is not permitted by configuration.
InvalidComponentsError – When a component was found to be invalid.