o
    B_i                     @  s\   d dl mZ d dlmZmZmZmZ d dlmZ dddZ	dddZ
d ddZd!ddZdS )"    )annotations)AnyDictListTuple	urlencodeclientr   methodstrparams_listList[Tuple[str, str]]returnc                 C  s&   t |}|pd }| jd|||dS )z|
    Ejecuta request al client AroFlo usando lista de params para permitir repetidos.
    Esta zona es READ ONLY (GET).
    GET )r
   params
var_string)r   upperrequest)r	   r
   r   r   method_u r   W/var/www/html/flask_server/apps/aroflo_connector_app/zones/businessunits/_join_utils.pyr      s   r   respDict[str, Any]c                 C  s   | |t |ddS )N)r   r   )datametar   )r   r   r   r   r   raw_wrap   s
   r   r   
str | Nonec                 C  sp   |  dd }|d u r|  dd }|d u s|dkrd S zt|}W n ty+   tdw |dkr4tdt|S )NpageSizepagesizer   zpageSize debe ser un entero.r   zpageSize debe ser > 0.)getint	Exception
ValueErrorr   )r   vivr   r   r   coerce_page_size   s   r&   zonewherejoinpager!   r   c                 C  sV   d| fg}|r| d|f |r| d|f |r | d|f | dt|f |S )Nr'   r)   r(   r   r*   )appendr   )r'   r(   r)   r*   r   r   r   r   r   build_list_params/   s   
r,   N)r	   r   r
   r   r   r   r   r   )r   r   r   r   r   r   )r   r   r   r   )r'   r   r(   r   r)   r   r*   r!   r   r   r   r   )
__future__r   typingr   r   r   r   urllib.parser   r   r   r&   r,   r   r   r   r   <module>   s   




