%PDF- %PDF-
 Mini Shell
 Mini Shell  
 | Direktori : /lib/python3/dist-packages/twisted/python/__pycache__/ | 
| Current File : //lib/python3/dist-packages/twisted/python/__pycache__/urlpath.cpython-312.pyc | 
�
    Ϫ�f�   �                   ��   � d Z ddlmZ ddlmZmZmZ ddl	m
Z dj                   e
dd�      D � cg c]  }  e| �      j                  d�      �� c} �      Zd	� Z G d
� d�      Zyc c} w )
z(
L{URLPath}, a representation of a URL.
�    )�cast)�quote�unquote�
urlunsplit)�URL�    �   �   �asciic                 �2   �� d| z   �t        �fd��fd��      S )a  
    Attriute declaration to preserve mutability on L{URLPath}.
    @param name: a public attribute name
    @type name: native L{str}
    @return: a descriptor which retrieves the private version of the attribute
        on get and calls rerealize on set.
    �_c                 �   �� t        | ��      S �N)�getattr)�self�privateNames    ��8/usr/lib/python3/dist-packages/twisted/python/urlpath.py�<lambda>z"_rereconstituter.<locals>.<lambda>   s   �� �W�T�;�/� r   c                 �   �� t        | �t        |t        �      r|n|j                  d�      �      xs | j	                  �       S )N�charmap)�setattr�
isinstance�bytes�encode�
_reconstitute)r   �valuer   s     �r   r   z"_rereconstituter.<locals>.<lambda>   s@   �� ����#�E�5�1��u�|�|�I�7N�
� 
$�
 �!�!�#�
 r   )�property)�namer   s    @r   �_rereconstituterr      s#   �� � ��*�K��/�	
�
� 
r   c                   �   � e Zd ZdZ	 dd�Zd� Z ed�      Z ed�      Z ed�      Z	 ed�      Z
 ed�      Zed	� �       Z
dd
�Zed� �       Zed� �       Zed
� �       Zd� Zdd�Zdd�Zdd�Zdd�Zd� Zdefd�Zdefd�Zy)�URLPatha�  
    A representation of a URL.
    @ivar scheme: The scheme of the URL (e.g. 'http').
    @type scheme: L{bytes}
    @ivar netloc: The network location ("host").
    @type netloc: L{bytes}
    @ivar path: The path on the network location.
    @type path: L{bytes}
    @ivar query: The query argument (the portion after ?  in the URL).
    @type query: L{bytes}
    @ivar fragment: The page fragment (the portion after # in the URL).
    @type fragment: L{bytes}
    c                 �z   � |xs d| _         || _        |xs d| _        || _        || _        | j                  �        y )Ns   http�   /)�_scheme�_netloc�_path�_query�	_fragmentr   )r   �scheme�netloc�path�query�fragments         r   �__init__zURLPath.__init__=   s<