File manager - Edit - /opt/saltstack/salt/lib/python3.10/site-packages/mdurl/__pycache__/_parse.cpython-310.pyc
Back
o ;jn, � @ s� d dl mZ d dlmZ d dlZd dlmZ ejdejd�Z e�d�Z e�d�Zd Zd e Z de Zde Zd ZdZe�d�Ze�d�Zeeddd��Zeeddddddddddd� �ZG dd� d�Zdd�d dd�ZdS )!� )�annotations)�defaultdictN)�URLz^([a-z0-9.+-]+:))�flagsz:[0-9]*$z^(//?(?!/)[^?\s]*)(\?[^\s]*)?$)�<�>�"�`� � � � )�{�}�|�\�^r )�')�%�/�?�;�#)r r r � z^[+a-z0-9A-Z_-]{0,63}$z^([+a-z0-9A-Z_-]{0,63})(.*)$T)Z javascriptzjavascript:) �http�https�ftp�gopher�filezhttp:zhttps:zftp:zgopher:zfile:c @ s* e Zd Zddd�Zdd d�Zdd d�ZdS )� MutableURL�return�Nonec C s4 d | _ d| _d | _d | _d | _d | _d | _d | _d S )NF)�protocol�slashes�auth�port�hostname�hash�search�pathname)�self� r+ �@/opt/saltstack/salt/lib/python3.10/site-packages/mdurl/_parse.py�__init__j s zMutableURL.__init__�url�str�slashes_denote_host�bool�'MutableURL'c C s& d}d}|}|� � }|s/t|�d��dkr/t�|�}|r/|�d�| _|�d�r-|�d�| _| S d}t�|�}|rK|�� }|� � }|| _ |t|�d � }|sU|sUt�d|�rk|�d�}|rk|rbt | sk|dd � }d| _t | �s�|sz|�r�t| �s�d } ttt��D ]} |�t| �}|d kr�| d ks�|| k r�|} q�| d kr�|�d �}n |�d d| d �}|d kr�|d |� } ||d d � }| | _d } ttt��D ]} |�t| �}|d kr�| d ks�|| k r�|} q�| d kr�t|�} | dkr�|| d dkr�| d8 } |d | � }|| d � }| �|� | j�pd| _| j�d ��o| j�d�}|�s�| j�d�}t|�}d} | |k �r�|| }|�s@| d7 } �q.t�|��s�d}t|�}d}||k �rpt|| �dk�ra|d7 }n||| 7 }|d7 }||k �sSt�|��s�|d | � }|| d d � }t�|�}|�r�|�|�d�� |�d|�d�� |�r�d�|�| }d�|�| _n | d7 } | |k �s3t| j�tk�r�d| _|�r�| jdd � | _|�d�}|d k�r�||d � | _ |d |� }|�d�}|d k�r�||d � | _|d |� }|�r|| _t| �r| j�r| j�sd| _| S )N� Fr � � z^//[^@/]+@[^@/]+z//T����@r �:�[�]�.� �xr )!�strip�len�split�SIMPLE_PATH_PATTERN�match�groupr) r( �PROTOCOL_PATTERN�lowerr"