https://t.me/RX1948
Server : Apache
System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64
User : dh_edsupp ( 6597262)
PHP Version : 8.2.26
Disable Function : NONE
Directory :  /lib/python3/dist-packages/django/contrib/admindocs/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/django/contrib/admindocs/__pycache__/utils.cpython-310.pyc
o

3�a7�@sdZddlZddlmZddlmZddlmZddlm	Z	ddl
mZddlm
Z
zddlZddlZddlZWneyCd	ZYnwd
Zdd�Zd
d�Zd"dd�Zdddddd�Zdd�Zd#dd�Zer}ejjj�de�e��D]	\ZZ eee �qsed�Z!ed�Z"dd�Z#d d!�Z$dS)$zBMisc. utility functions/classes for admin documentation generator.�N)�HeaderParseError)�HeaderParser)�cleandoc)�reverse)�_lazy_re_compile)�	mark_safeFTcCs"|j}t|d|jj�}|d|S)N�__qualname__�.)�
__module__�getattr�	__class__�__name__)�	view_func�mod_name�	view_name�r�@/usr/lib/python3/dist-packages/django/contrib/admindocs/utils.py�
get_view_namesrcCs�|sddifSt|�}t�d|�}|d}t|�dkr d}i}n<t�}z	|�|d�}Wnty@i}d�|dd��}Ynwt|�	��}|rSd�|dd��}n	d�|dd��}|||fS)zN
    Parse out the parts of a docstring.  Return (title, body, metadata).
    �z\n{2,}r����z

N)
r�re�split�lenr�parsestrr�join�dict�items)�	docstring�parts�title�body�metadata�parserrrr�parse_docstrings(
�
r$cCsRdd|td��d�ddd�}|od|}d}tjj|||d	d
|d�}t|d�S)
z<
    Convert the string from reST to an XHTML fragment.
    T�zdjango-admindocs-docroot�/F)�doctitle_xform�initial_header_level�default_reference_context�	link_base�raw_enabled�file_insertion_enabledz<%s>z7
.. default-role:: cmsreference

%s

.. default-role::
N�html)�source_path�destination_path�writer_name�settings_overrides�fragment)r�rstrip�docutils�core�
publish_partsr)�textr)�thing_being_parsed�	overrides�sourcerrrr�	parse_rst8s��r;z
%s/models/%s/z%s/views/%s/z%s/templates/%s/z%s/filters/#%sz%s/tags/#%s)�model�view�template�filter�tagcs$d�fdd�	}tjjj�||�dS)NcsB|duri}tjj||fd�|jjj|��fi|��}|ggfS�N�refuri)r4�nodes�	reference�document�settingsr*�lower)�name�rawtextr7�lineno�inliner�options�content�node��urlbaserr�_rolecs����
	z$create_reference_role.<locals>._role�NN)r4�parsers�rst�roles�register_canonical_role)�rolenamerPrQrrOr�create_reference_rolebs
rXc	CsP|duri}|jjj}tjj||fdt||jjj|��fi|��}|ggfSrA)	rErFr)r4rCrD�ROLESr*rG)	rHrIr7rJrKrLrM�contextrNrrr�default_reference_roless
����
	r[�cmsreferencez\(\?P(<\w+>)z\(cCs�dd�t�|�D�}g}|D]F\}}}d\}}t||d��D]4\}}	|	dkr0|dkr0|d7}n|	dkr<|dkr<|d8}|	}|d	krS|�||||d�|f�nqq|D]
\}
}|�|
|�}qW|S)
a
    Find named groups in `pattern` and replace them with the group name. E.g.,
    1. ^(?P<a>\w+)/b/(\w+)$ ==> ^<a>/b/(\w+)$
    2. ^(?P<a>\w+)/b/(?P<c>\w+)/$ ==> ^<a>/b/<c>/$
    3. ^(?P<a>\w+)/b/(\w+) ==> ^<a>/b/(\w+)
    4. ^(?P<a>\w+)/b/(?P<c>\w+) ==> ^<a>/b/<c>
    cSs&g|]}|�d�|�d�|df�qS)rr)�start�end��.0�mrrr�
<listcomp>�s��z(replace_named_groups.<locals>.<listcomp>�rNN�(�\r�)r)�named_group_matcher�finditer�	enumerate�append�replace)�pattern�named_group_indices�group_pattern_and_namer]r^�
group_name�unmatched_open_brackets�	prev_char�idx�val�
group_patternrrr�replace_named_groups�s(�
��rucCsDdd�t�|�D�}g}|D]A}d\}}t||dd��D]0\}}|dkr/|dkr/|d7}n|dkr;|dkr;|d8}|}|d	krN|�||d
|f�nqqg}d}	|D]\}}
|	r`||	ksb|	si|�||
f�|
}	qV|r�gd}}	|D]\}}
|	r�|�||	|��|�|d|�d�|
}	qu|�||	d��d�|�S|S)
a)
    Find unnamed groups in `pattern` and replace them with '<var>'. E.g.,
    1. ^(?P<a>\w+)/b/(\w+)$ ==> ^(?P<a>\w+)/b/<var>$
    2. ^(?P<a>\w+)/b/((x|y)\w+)$ ==> ^(?P<a>\w+)/b/<var>$
    3. ^(?P<a>\w+)/b/(\w+) ==> ^(?P<a>\w+)/b/<var>
    4. ^(?P<a>\w+)/b/((x|y)\w+) ==> ^(?P<a>\w+)/b/<var>
    cSsg|]}|�d��qS)r)r]r_rrrrb�sz*replace_unnamed_groups.<locals>.<listcomp>rcrNrdrerfr�z<var>r)�unnamed_group_matcherrhrirjr)rl�unnamed_group_indices�
group_indicesr]rprqrrrs�group_start_end_indices�prev_endr^�
final_patternrrr�replace_unnamed_groups�s>
��

r})NrR)%�__doc__r�email.errorsr�email.parserr�inspectr�django.urlsr�django.utils.regex_helperr�django.utils.safestringr�
docutils.corer4�docutils.nodes�docutils.parsers.rst.roles�ImportError�docutils_is_availablerr$r;rYrXr[rSrTrUrVrrHrPrgrwrur}rrrr�<module>sF�
"�	
&

https://t.me/RX1948 - 2025