3 ]/@s^dZddlmZddlmZddlmZdddZddd Zdd d Z dd d Z dddZ dS)z Module containing the simple and functional API for rfc3986. This module defines functions and provides access to the public attributes and classes of rfc3986. ) IRIReference) ParseResult) URIReferenceutf-8cCs tj||S)abParse a URI string into a URIReference. This is a convenience function. You could achieve the same end by using ``URIReference.from_string(uri)``. :param str uri: The URI which needs to be parsed into a reference. :param str encoding: The encoding of the string provided :returns: A parsed URI :rtype: :class:`URIReference` )r from_string)uriencodingr ?/tmp/pip-build-el9acr48/urllib3/urllib3/packages/rfc3986/api.py uri_references r cCs tj||S)acParse a IRI string into an IRIReference. This is a convenience function. You could achieve the same end by using ``IRIReference.from_string(iri)``. :param str iri: The IRI which needs to be parsed into a reference. :param str encoding: The encoding of the string provided :returns: A parsed IRI :rtype: :class:`IRIReference` )rr)irirr r r iri_reference)s r cKstj||jf|S)aDetermine if the URI given is valid. This is a convenience function. You could use either ``uri_reference(uri).is_valid()`` or ``URIReference.from_string(uri).is_valid()`` to achieve the same result. :param str uri: The URI to be validated. :param str encoding: The encoding of the string provided :param bool require_scheme: Set to ``True`` if you wish to require the presence of the scheme component. :param bool require_authority: Set to ``True`` if you wish to require the presence of the authority component. :param bool require_path: Set to ``True`` if you wish to require the presence of the path component. :param bool require_query: Set to ``True`` if you wish to require the presence of the query component. :param bool require_fragment: Set to ``True`` if you wish to require the presence of the fragment component. :returns: ``True`` if the URI is valid, ``False`` otherwise. :rtype: bool )rrZis_valid)rrkwargsr r r is_valid_uri7srcCstj||j}|jS)anNormalize the given URI. This is a convenience function. You could use either ``uri_reference(uri).normalize().unsplit()`` or ``URIReference.from_string(uri).normalize().unsplit()`` instead. :param str uri: The URI to be normalized. :param str encoding: The encoding of the string provided :returns: The normalized URI. :rtype: str )rr normalizeZunsplit)rrZnormalized_referencer r r normalize_uriPs rcCstj||ddS)a:Parse a given URI and return a ParseResult. This is a partial replacement of the standard library's urlparse function. :param str uri: The URI to be parsed. :param str encoding: The encoding of the string provided. :returns: A parsed URI :rtype: :class:`~rfc3986.parseresult.ParseResult` F)strict)rr)rrr r r urlparse`s rN)r)r)r)r)r) __doc__r rZ parseresultrrrr r rrrr r r r s