o
    i                     @  sV   d dl mZ d dlmZ d dlmZ d dlZddlmZ G dd deZ	dddZ
dS )    )annotations)
NamedTuple)OptionalN   )LibsqlErrorc                   @  s6   e Zd ZU ded< ded< ded< ded< ded< d	S )
_Configstrscheme	authoritypathOptional[str]
auth_tokenbooltlsN)__name__
__module____qualname____annotations__ r   r   H/home/ubuntu/.local/lib/python3.10/site-packages/libsql_client/config.pyr   
   s   
 r   urlr   r   r   r   Optional[bool]returnc          
      C  s$  t j| }|j}|j}|j}t jj|jdd}|D ]/\}}	|dkr'|	p%d }q|dkrB|	dkr2d}q|	dkr9d}qtd|	d	d
td|d|dkrb|du r_|j	d u r\tdd
d}nd}n
|dv rl|d u rld}|d u rrd}|j
r~td|j
d
|jrtd|jd
t|||||S )NT)keep_blank_values	authTokenr   0F1z,Unknown value for the 'tls' query argument: z". Supported values are '0' and '1'URL_INVALIDzUnknown URL query parameter URL_PARAM_NOT_SUPPORTEDlibsqlz9A 'libsql:' URL with ?tls=0 must specify an explicit portwswss)httpr    zUnsupported URL parameter: zUnsupported URL fragment: )urllibparseurlparser	   netlocr   	parse_qslqueryr   portparamsfragmentr   )
r   r   r   
url_parsedr	   r
   r   qslkeyvaluer   r   r   _expand_config   sT   



r0   )r   r   r   r   r   r   r   r   )
__future__r   typingr   r   urllib.parser#   clientr   r   r0   r   r   r   r   <module>   s    