HEX
Server: Apache
System: Linux scp1.abinfocom.com 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64
User: confeduphaar (1010)
PHP: 8.1.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //proc/thread-self/root/lib/python3/dist-packages/httplib2/__pycache__/iri2uri.cpython-38.pyc
U

X��]9�@s�dZdZdZgZdZdZddlZddd	d
ddd
dddddddddddddgZdd�Z	dd�Z
edkr�ddlZGd d!�d!ej
�Ze��dS)"zConverts an IRI to a URI.z!Joe Gregorio (joe@bitworking.org)zCopyright 2006, Joe Gregorioz1.0.0ZMIT�N)�i��)i�i��)i�i�)i�i�)ii��)ii��)ii��)ii��)ii��)ii��)ii��)ii��)i	i��	)i
i��
)ii��)ii��)i
i��
)ii��)ii��)ii��cCsX|}t|�}tD]B\}}||kr$qT||kr||krd�dd�|�d�D��}qTq|S)N�cSsg|]}d|�qS)z%%%2X�)�.0�orr�2/usr/lib/python3/dist-packages/httplib2/iri2uri.py�
<listcomp>7szencode.<locals>.<listcomp>�utf-8)�ord�escape_range�join�encode)�cZretval�iZlowZhighrrrr
0sr
cCs^t|t�rZtj�|�\}}}}}|�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.Zidnar	rcSsg|]}t|��qSr)r
)rrrrrrGsziri2uri.<locals>.<listcomp>)	�
isinstance�str�urllib�parseZurlsplitr
�decodeZ
urlunsplitr)�uriZschemeZ	authority�pathZqueryZfragmentrrr�iri2uri<s
r�__main__c@seZdZdd�Zdd�ZdS)�TestcCs2ddddddddg}|D]}|�|t|��qd	S)
z6Test that URIs are invariant under the transformation.z"ftp://ftp.is.co.za/rfc/rfc1808.txtz#http://www.ietf.org/rfc/rfc2396.txtz)ldap://[2001:db8::7]/c=GB?objectClass?onezmailto:John.Doe@example.comz&news:comp.infosystems.www.servers.unixztel:+1-816-555-1212ztelnet://192.0.2.16:80/z3urn:oasis:names:specification:docbook:dtd:xml:4.1.2N)�assertEqualr)�selfZ	invariantrrrr�	test_urisOs�
zTest.test_uriscCs~|�dtd��|�dtd��|�dtd��|�dtd��|�d	td
��|�d	ttd
���|�d	td
�d���dS)
zFTest that the right type of escaping is done for each part of the URI.zhttp://xn--o3h.com/%E2%98%84uhttp://☄.com/☄z%http://bitworking.org/?fred=%E2%98%84uhttp://bitworking.org/?fred=☄z http://bitworking.org/#%E2%98%84uhttp://bitworking.org/#☄z
#%E2%98%84u#☄z/fred?bar=%E2%98%9A#%E2%98%84u/fred?bar=☚#☄r	N)rrZassertNotEqualr
)rrrr�test_iri^s6����
���z
Test.test_iriN)�__name__�
__module__�__qualname__rrrrrrrNsr)�__doc__�
__author__Z
__copyright__Z__contributors__�__version__Z__license__Zurllib.parserrr
rrZunittestZTestCaser�mainrrrr�<module>sB�.