File: //lib/python3/dist-packages/httplib2/__pycache__/iri2uri.cpython-310.pyc
o
    ���_9  �                   @   sj   d Z dZdZg ZdZdZddlZg d�Zdd	� Z	d
d� Z
edkr3ddlZG d
d� dej
�Ze��  dS dS )zConverts an IRI to a URI.z!Joe Gregorio (joe@bitworking.org)zCopyright 2006, Joe Gregorioz1.0.0�MIT�    N))�   i��  )i �  i��  )i �  i�  )i�  i�  )i   i�� )i   i�� )i   i�� )i   i�� )i   i�� )i   i�� )i   i�� )i   i�� )i  	 i��	 )i  
 i��
 )i   i�� )i   i�� )i  
 i��
 )i  i�� )i   i�� )i   i�� c                 C   s\   | }t | �}tD ]#\}}||k r |S ||kr+||kr+d�dd� | �d�D ��} |S q|S )N� c                 S   s   g | ]}d | �qS )z%%%2X� )�.0�or   r   �2/usr/lib/python3/dist-packages/httplib2/iri2uri.py�
<listcomp>7   �    zencode.<locals>.<listcomp>�utf-8)�ord�escape_range�join�encode)�c�retval�i�low�highr   r   r   r   0   s   �� r   c                 C   s^   t | t�r-tj�| �\}}}}}|�d��d�}tj�|||||f�} d�dd� | D ��} | S )z�Convert an IRI to a URI. Note that IRIs must be
    passed in a unicode strings. That is, do not utf-8 encode
    the IRI before passing it into the function.�idnar   r   c                 S   s   g | ]}t |��qS r   )r   )r   r   r   r   r   r	   G   r
   ziri2uri.<locals>.<listcomp>)	�
isinstance�str�urllib�parse�urlsplitr   �decode�
urlunsplitr   )�uri�scheme�	authority�path�query�fragmentr   r   r   �iri2uri<