
    +h	              	           d Z ddlZddlmZ ddlmZ ddlmZ dZ		 dde
dej        ej                 d	ej        d
e
fdZ	 dde
dej        ej                 d	ej        d
efdZde
d
efdZdS )zf

uritemplate.api
===============

This module contains the very simple API provided by uritemplate.

    N)variable)
OrderedSet)URITemplate)r   r   expandpartial	variablesurivar_dictkwargsreturnc                 8     t          |           j        |fi |S )aq  Expand the template with the given parameters.

    :param str uri: The templated URI to expand
    :param dict var_dict: Optional dictionary with variables and values
    :param kwargs: Alternative way to pass arguments
    :returns: str

    Example::

        expand('https://api.github.com{/end}', {'end': 'users'})
        expand('https://api.github.com{/end}', end='gists')

    .. note:: Passing values by both parts, may override values in
              ``var_dict``. For example::

                  expand('https://{var}', {'var': 'val1'}, var='val2')

              ``val2`` will be used instead of ``val1``.

    )r   r   r	   r
   r   s      S/var/www/html/e360mart/e360mart_env/lib/python3.11/site-packages/uritemplate/api.pyr   r      s'    2 #;s"866v666    c                 8     t          |           j        |fi |S )a  Partially expand the template with the given parameters.

    If all of the parameters for the template are not given, return a
    partially expanded template.

    :param dict var_dict: Optional dictionary with variables and values
    :param kwargs: Alternative way to pass arguments
    :returns: :class:`URITemplate`

    Example::

        t = URITemplate('https://api.github.com{/end}')
        t.partial()  # => URITemplate('https://api.github.com{/end}')

    )r   r   r   s      r   r   r   .   s'    ( $;s#H77777r   c                 D    t          t          |           j                  S )ah  Parse the variables of the template.

    This returns all of the variable names in the URI Template.

    :returns: Set of variable names
    :rtype: set

    Example::

        variables('https://api.github.com{/end})
        # => {'end'}
        variables('https://api.github.com/repos{/username}{/repository}')
        # => {'username', 'repository'}

    )r   r   variable_names)r	   s    r   r   r   E   s      k#&&5666r   )N)__doc__typingturitemplater   uritemplate.orderedsetr   uritemplate.templater   __all__strOptionalVariableValueDictVariableValuer   r   r    r   r   <module>r       s"                    - - - - - - , , , , , ,
I
 8<7 7	7j347 $7 		7 7 7 7< 8<8 8	8j348 $8 	8 8 8 8.73 7: 7 7 7 7 7 7r   