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/mimeview/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

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

�k�`M$�@s"ddlZddlZddlZddlmZddlmZddlZddlmZddl	m
Z
mZddlm
Z
mZddlmZddlTdd	lmZmZmZdd
lmZmZddlmZddlmZmZdd
lmZm Z ddl!m"Z"ddl#m$Z$ddl%m&Z&m'Z'ddl(m)Z)m*Z*m+Z+m,Z,dgZ-Gdd�de.�Z/dS)�N)�datetime��resource_filename)�
HtmlFormatter)�get_all_lexers�get_lexer_by_name)�get_all_styles�get_style_by_name)�ISystemInfoProvider)�*)�
ConfigSection�
ListOption�Option)�IHTMLPreviewRenderer�Mimeview)�IPreferencePanelProvider)�get_pkginfo�lazy)�	http_date�localtz)�Markup��_)�IRequestHandler�HTTPNotFound)�ITemplateProvider�
add_notice�add_script_data�add_stylesheet�PygmentsRendererc@s�eZdZdZeeeeee	�dZ
eddddid�Ze
dd	d
d�Zeddd
dd�ZdZdZdZdZdd�Zdd�Zdd�Zd2dd�Zdd�Zdd�Zd d!�Zd"d#�Zd$d%�Zd&d'�Zed(d)��Z ed*d+��Z!ed,d-��Z"d3d.d/�Z#d0d1�Z$dS)4rz8HTML renderer for syntax highlighting based on Pygments.Fzpygments-lexera�Configure Pygments [%(url)s lexer] options.

        For example, to set the
        [%(url)s#lexers-for-php-and-related-languages PhpLexer] options
        `startinline` and `funcnamehighlighting`:
        {{{#!ini
        [pygments-lexer]
        php.startinline = True
        php.funcnamehighlighting = True
        }}}

        The lexer name is derived from the class name, with `Lexer` stripped
        from the end. The lexer //short names// can also be used in place
        of the lexer name.
        �urlz http://pygments.org/docs/lexers/)�doc_args�
mimeviewer�pygments_default_style�tracz:The default style to use for Pygments syntax highlighting.�pygments_modes�a�List of additional MIME types known by Pygments.

        For each, a tuple `mimetype:mode:quality` has to be
        specified, where `mimetype` is the MIME type,
        `mode` is the corresponding Pygments mode to be used
        for the conversion and `quality` is the quality ratio
        associated to this conversion. That can also be used
        to override the default quality ratio used by the
        Pygments render.)�docT�z�<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Hello, world!</title>
    <script>
      jQuery(function($) {
        $("h1").fadeIn("slow");
      });
    </script>
  </head>
  <body>
    <h1>Hello, world!</h1>
  </body>
</html>ccs�dtt��d�fVdS)N�Pygments�version)r�pygments�get��self�r/�8/usr/lib/python3/dist-packages/trac/mimeview/pygments.py�get_system_infogs�z PygmentsRenderer.get_system_infoccs.�t�D]\}}}}|D]}||fVqqdS�N�r)r.r�aliases�	mimetypes�mimetyper/r/r0�get_extra_mimetypesls���z$PygmentsRenderer.get_extra_mimetypescCs&z|j|dWStyYdSw)N�r)�_types�KeyError)r.r6r/r/r0�get_quality_ratioqs
�z"PygmentsRenderer.get_quality_ratioNc		Cs�|j}|j�d|j�}t|d|�z t|�dkr0|�dd�d}|j|d}|�|||�WSWdSt	t
fyAtd|��w)N�pygments_style�/pygments/%s.cssr�;r8z+No Pygments lexer found for mime-type '%s'.)�req�sessionr,�
default_styler�len�splitr9�	_generater:�
ValueError�	Exception)	r.�contextr6�content�filename�revr?�style�languager/r/r0�renderxs���zPygmentsRenderer.renderccs�dtd�fVdS)Nr+zSyntax Highlightingr)r.r?r/r/r0�get_preference_panels�s�z&PygmentsRenderer.get_preference_panelscCs�tt��}|jdkr9|j�d�}|r||vr||jd<n|s'd|jvr'|jd=t|td��|�|j	�
|p6d��t|�D]
}t|d||�
�d�q=|�d|j�}t||j�
�d�d	||j�d�|j|d
�fS)N�POSTrKr<z!Your preferences have been saved.r=)�title�html)rAzprefs_pygments.html)�output�	selectionrA�styles)�listr�method�argsr,r@rr�redirect�href�prefs�sortedrrPrD�EXAMPLErrA)r.r?�panelrTrKrRr/r/r0�render_preference_panel�s&


�z(PygmentsRenderer.render_preference_panelcCs*t�d|j�}|r|�d�|jd<dSdS)Nz/pygments/([-\w]+)\.cssr8rKT)�re�match�	path_info�grouprW)r.r?r`r/r/r0�
match_request�s
�zPygmentsRenderer.match_requestc
Cs|jd}zt|�}Wnty}zt|�|�d}~ww|j�d�}td�|dd��|dd�}t�	t
j�|�t
�}t|�}||�d�krS|�d�|��dSt|d�}	d�|	�d	�|	�d
�g��d�}
|�d�|�d
d�|�d|�|�dt|
��|�|
�dS)NrK�.���z.pyzIf-Modified-Sincei0)rKz

zdiv.code prez
table.code tdzutf-8��zContent-Typeztext/css; charset=utf-8z
Last-ModifiedzContent-Length)rWr	rEr�
__module__rCr�joinr�
fromtimestamp�os�path�getmtimerr�
get_header�
send_response�end_headersr�get_style_defs�encode�send_headerrB�write)r.r?rK�	style_cls�e�partsrI�mtime�
last_modified�	formatterrHr/r/r0�process_request�s6

�� 

��
z PygmentsRenderer.process_requestcCsgSr2r/r-r/r/r0�get_htdocs_dirs�sz PygmentsRenderer.get_htdocs_dirscCstdd�gS)Nz
trac.mimeview�	templatesrr-r/r/r0�get_templates_dirs�sz#PygmentsRenderer.get_templates_dirscCs>i}t�D]\}}}}|r|dn|}|D]}|||<qq|S)Nrr3)r.�lexer_alias_name_map�
lexer_namer4r�name�aliasr/r/r0�_lexer_alias_name_map�s
�z&PygmentsRenderer._lexer_alias_name_mapc	Csfi}|j��D])\}}z	|�d�\}}Wn	tyYqw|�|�}||i}|�|i��|�q|S)Nrd)�pygments_lexer_options�optionsrCrE�_lexer_alias_to_name�
setdefault�update)r.�
lexer_options�key�lexer_option_value�lexer_name_or_alias�lexer_option_namer�lexer_optionr/r/r0�_lexer_options�s�
zPygmentsRenderer._lexer_optionsc	Csxi}t�D]\}}}}|r|dn|}|D]	}||jf||<qqd|vr/|�d�}|r/||d<|�t|j��d��|S)Nrzapplication/javascriptztext/javascriptr+)r�
QUALITY_RATIOr,r�r�env�configured_modes_mapping)	r.�typesrr4rr5r�r6�js_entryr/r/r0r9�s�
zPygmentsRenderer._typesc	Cs~|�|�}ddi}|�|j�|i��|r|�|�di��t|fi|��}t��}tddd�}|�	|�
|�|�t|���S)N�stripnlFr�T�
)�nowrap�
lineseparator)
r�r�r�r,�get_hintr�io�StringIOr�format�
get_tokensr�getvalue)	r.rLrHrGrr��lexer�outryr/r/r0rD�s
zPygmentsRenderer._generatecCs|j�||�Sr2)r�r,)r.r�r/r/r0r�sz%PygmentsRenderer._lexer_alias_to_name)NNr2)%�__name__rg�__qualname__�__doc__�
implementsr
rrrr�is_valid_default_handlerrr�rrAr
r%�expand_tabs�returns_sourcer�r\r1r7r;rMrNr^rcrzr{r}rr�r�r9rDr�r/r/r/r0r(sP����




)0r�rjr_r�
pkg_resourcesrr+�pygments.formatters.htmlr�pygments.lexersrr�pygments.stylesrr	�trac.apir
�	trac.core�trac.configrr
r�trac.mimeview.apirr�
trac.prefsr�	trac.utilrr�trac.util.datefmtrr�trac.util.htmlr�trac.util.translationr�trac.web.apirr�trac.web.chromerrrr�__all__�	Componentrr/r/r/r0�<module>s,

https://t.me/RX1948 - 2025