Ë
    Æ	Ûa  ã                   óT   — d Z ddlmZ ddlmZ ddlmZ dd„Zdd„Zdd„Z	dd„Z
dd	„Zy
)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)ÚURIReferencec                 ó.   — t        j                  | |«      S )ab  Parse 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©ÚuriÚencodings     ú-/usr/lib/python3/dist-packages/rfc3986/api.pyÚuri_referencer      ó   € ô ×#Ñ# C¨Ó2Ð2ó    c                 ó.   — t        j                  | |«      S )ac  Parse 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`
    )r   r   )Úirir
   s     r   Úiri_referencer   '   r   r   c                 óN   —  t        j                  | |«      j                  di |¤ŽS )aã  Determine 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
    © )r   r   Úis_valid)r	   r
   Úkwargss      r   Úis_valid_urir   5   s'   € ð, <Œ<×#Ñ# C¨Ó2×;Ñ;ÑE¸fÑEÐEr   c                 ój   — t        j                  | |«      j                  «       }|j                  «       S )an  Normalize 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
    )r   r   Ú	normalizeÚunsplit)r	   r
   Únormalized_references      r   Únormalize_urir   N   s/   € ô (×3Ñ3°C¸ÓB×LÑLÓNÐØ×'Ñ'Ó)Ð)r   c                 ó2   — t        j                  | |d¬«      S )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)r   r   r   s     r   Úurlparser   ^   s   € ô ×"Ñ" 3¨¸Ô?Ð?r   N)zutf-8)Ú__doc__r   r   Úparseresultr   r	   r   r   r   r   r   r   r   r   r   ú<module>r!      s0   ðñõ Ý $Ý ó3ó3óFó2*ô 
@r   