File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/yarl/__pycache__/_parse.cpython-310.pyc
Back
o ;j � @ sf d Z ddlZddlZddlmZ ddlmZ ddlmZm Z ddl mZmZ dZ g d �Zee �Zeeeeeef Zd edefdd �Zdeddfdd�Zededeeedf eedf eedf eedf f fdd��Zdeded edededefdd�Ze d#deedf deedf deedf deedf dedefdd��Zd edeeeef fd!d"�ZdS )$zURL parsing utilities.� N)� lru_cache)�Union)�scheme_chars�uses_netloc� )�QUOTER� UNQUOTER_PLUSz! )� � � �url�returnc C s� | � t�} tD ]}|| v r| �|d�} qd } } }}| �d�}|dkrK| d tv rK| d|� D ]}|tvr9 nq1| d|� �� | |d d� }} d| v }d| v } | dd� d kr�t| �} |rf| rfd }n| rkd}n|rpd}nd }|D ]}| �|d�}|dkr�|| k r�|} qt| d| � }| | d� } d|v } d|v }| r�|r�|r�| s�td��| r�|� d�d � d�d }|r�|d dkr�t �d|�s�td��nd|vr�td��|r�| � d�\} }}| r�| � d�\} }}|r�|�� s�t |� ||| ||fS )zSplit URL into parts.� �:r r N�#�?� �//z/?#z/?z/#�/�[�]zInvalid IPv6 URL�vz\Av[a-fA-F0-9]+\..+\ZzIPvFuture address is invalidz.The IPv6 content between brackets is not valid)�lstrip�WHATWG_C0_CONTROL_OR_SPACE�UNSAFE_URL_BYTES_TO_REMOVE�replace�findr �lower�len� ValueError� partition�re�match�isascii� _check_netloc)r �b�scheme�netloc�query�fragment�i�cZhas_hashZhas_question_mark�delimZdelim_chars�wdelimZhas_left_bracketZhas_right_bracketZbracketed_host�_� r/ �?/opt/saltstack/salt/lib/python3.10/site-packages/yarl/_parse.py� split_url sl � �"����r1 r'