Your IP : 216.73.216.213


Current Path : /opt/alt/python33/lib64/python3.3/Tools/scripts/__pycache__/
Upload File :
Current File : //opt/alt/python33/lib64/python3.3/Tools/scripts/__pycache__/highlight.cpython-33.pyc

�
��f�#c@sVdZdZddlZddlZddlZddlZddlZyddlZWnek
rxddl	ZYnXdd�Z
dd�Zdd	�Zd
d�Z
id`d6dad6dbd6dcd6ddd6ded6dfd6dgd6Zedd�Zdddd�Zid d!6d"d#6d$d%6d&d'6d(d)6d*d+6d,d-6d.d/6Zd0Zd1eed2d3�Zid4d6d5d6d6d6d7d6d8d6d7d6d9d6d:d6Zd;Zd<d=�Zd1eed>d?�Zed@krRddlZddlZddlZddlZddlZejdAddBejdCej dD��Z!e!j"dEdFdGdHdI�e!j"dJdKdLdMdHdN�e!j"dOdPdLdMdHdQ�e!j"dRdSdLdMdHdT�e!j"dUdVdLdMdHdW�e!j"dXdYdLdMdHdZ�e!j#�Z$e$j%re$j&se$j're!j(d[�ne$j)Z)e*e)��Z+e+j,�Z-WdQXee-�Z.e$j/rbe
e.�Z0nie$j'ste$j&r�ee.d\e)�Z0nBe$j%r�ee.�Z0n*e$j1r�ee.d\e)�Z0nee.�Z0e$j&r?ej2j3ej2j4e)��dd]Z5e*e5d^��Z+e+j6e0�WdQXej*d_ej2j7e5��qRej8j6e0�ndS(hu-Add syntax highlighting to Python source codeuRaymond HettingeriNcCs
tt|�S(u)Return True if s is the name of a builtin(uhasattrubuiltins(us((u</opt/alt/python33/lib64/python3.3/Tools/scripts/highlight.pyu
is_builtinsu
is_builtincCs�||\}}\}}||krA||d||�|fS||d|d�g|||d�||dd|�g}dj|�|fS(u8Join content from a range of lines between start and endiNu(ujoin(ulinesustartuendusrowuscoluerowuecolurows((u</opt/alt/python33/lib64/python3.3/Tools/scripts/highlight.pyu
combine_ranges
Fu
combine_rangeccs|jd�}|jd�tjtt|�d�}d}}tj}d}x�tj	|�D]�}||}}	|\}}\}
}\}}
}d}|tjkr�d}n�|tj
kr�|dd�dkr�d}n�|tjkrd}|tjks|dkr�d	}q�nu|tj
kr�|dkr@d}q�|	dkrUd}q�tj|�rmd}q�t|�r�|	dkr�d}q�n|r`t|||
|f�\}}d|fV|||
f}}||fVq`q`Wt||||
f�\}}d|fVdS(u�Generate and classify chunks of Python for syntax highlighting.
       Yields tuples in the form: (category, categorized_text).
    uiiucommentNu{}[](),.:;@uoperatorustringu	docstringudefuclassuimportufromu
definitionudefnameukeywordu.ubuiltinT(ii(udefuclassuimportufrom(udefuclass(u
splitlinesuTrueuappendu	functoolsupartialunextuiterutokenizeuCOMMENTugenerate_tokensuOPuSTRINGuINDENTuNAMEukeywordu	iskeywordu
is_builtinu
combine_range(usourceulinesureadlineukindutok_strutok_typeuwrittenutoku
prev_tok_typeuprev_tok_strusrowuscoluerowuecolulogical_linenoutextuline_upto_token((u</opt/alt/python33/lib64/python3.3/Tools/scripts/highlight.pyuanalyze_pythonsD

	
!	%				uanalyze_pythoncCsGg}x1|D])\}}|jd|p+d|f�q
Wdj|�S(u-Straight text display of text classificationsu
%15s:  %r
uplainu(uappendujoin(uclassified_texturesultukindutext((u</opt/alt/python33/lib64/python3.3/Tools/scripts/highlight.pyu
raw_highlightCs!u
raw_highlightuuucommentuustringu	docstringuukeyworduubuiltinu
definitionuudefnameuoperatorcCsUg}x?|D]7\}}|j|d�\}}||||g7}q
Wdj|�S(uBAdd syntax highlighting to source code using ANSI escape sequencesu(uu(ugetujoin(uclassified_textucolorsuresultukindutextuopenerucloser((u</opt/alt/python33/lib64/python3.3/Tools/scripts/highlight.pyuansi_highlightWs
uansi_highlightu<pre class="python">
u</pre>
cCs�|g}xZ|D]R\}}|r6|jd|�n|jtj|��|r|jd�qqW|j|�dj|�S(u+Convert classified text to an HTML fragmentu<span class="%s">u</span>u(uappenducgiuescapeujoin(uclassified_textuopenerucloseruresultukindutext((u</opt/alt/python33/lib64/python3.3/Tools/scripts/highlight.pyuhtml_highlightbs	
uhtml_highlightu{color: crimson;}u.commentu{color: forestgreen;}u.stringu({color: forestgreen; font-style:italic;}u
.docstringu{color: darkorange;}u.keywordu{color: purple;}u.builtinu&{color: darkorange; font-weight:bold;}u.definitionu{color: blue;}u.defnameu{color: brown;}u	.operatoru<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
          "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8">
<title> {title} </title>
<style type="text/css">
{css}
</style>
</head>
<body>
{body}
</body>
</html>
upythoncCsYdjdd�|j�D��}t|�}tj|�}|jd|d|d|�S(u6Create a complete HTML page with colorized source codeu
cSsg|]}d|�qS(u%s %s((u.0uitem((u</opt/alt/python33/lib64/python3.3/Tools/scripts/highlight.pyu
<listcomp>�s	u#build_html_page.<locals>.<listcomp>utitleucssubody(ujoinuitemsuhtml_highlightucgiuescapeuformat(uclassified_textutitleucssuhtmlucss_struresult((u</opt/alt/python33/lib64/python3.3/Tools/scripts/highlight.pyubuild_html_page�s"ubuild_html_pageu{\color{red}#1}u{\color{ForestGreen}#1}u{\emph{\color{ForestGreen}#1}}u{\color{orange}#1}u{\color{purple}#1}u{\color{blue}#1}u{\color{brown}#1}u
\documentclass{article}
\usepackage{alltt}
\usepackage{upquote}
\usepackage{color}
\usepackage[usenames,dvipsnames]{xcolor}
\usepackage[cm]{fullpage}
%(macros)s
\begin{document}
\center{\LARGE{%(title)s}}
\begin{alltt}
%(body)s
\end{alltt}
\end{document}
cs:idd6dd6dd6�tjd�fdd	�|�S(
u;Replace backslash and braces with their escaped equivalentsu\{u{u\}u}u\textbackslash{}u\u[\\{}]cs�|j�S(N(ugroup(umo(uxlat(u</opt/alt/python33/lib64/python3.3/Tools/scripts/highlight.pyu<lambda>�sualltt_escape.<locals>.<lambda>(ureusub(us((uxlatu</opt/alt/python33/lib64/python3.3/Tools/scripts/highlight.pyualltt_escape�sualltt_escapec	Cs�djdd�|j�D��}g}xW|D]O\}}|rU|jd|�n|jt|��|r/|jd�q/q/Wttd|d|dd	j|��S(
u;Create a complete LaTeX document with colorized source codeu
css|]}d|VqdS(u\newcommand{\py%s}[1]{%s}N((u.0uc((u</opt/alt/python33/lib64/python3.3/Tools/scripts/highlight.pyu	<genexpr>�su"latex_highlight.<locals>.<genexpr>u\py%s{u}utitleumacrosubodyu(ujoinuitemsuappendualltt_escapeudefault_latex_documentudict(uclassified_textutitleucommandsudocumentumacrosuresultukindutext((u</opt/alt/python33/lib64/python3.3/Tools/scripts/highlight.pyulatex_highlight�s"ulatex_highlightu__main__udescriptionuformatter_classuepilogua
                examples:

                  # Show syntax highlighted code in the terminal window
                  $ ./highlight.py myfile.py

                  # Colorize myfile.py and display in a browser
                  $ ./highlight.py -b myfile.py

                  # Create an HTML section to embed in an existing webpage
                  ./highlight.py -s myfile.py

                  # Create a complete HTML file
                  $ ./highlight.py -c myfile.py > myfile.html

                  # Create a PDF using LaTeX
                  $ ./highlight.py -l myfile.py | pdflatex

            u
sourcefileumetavaru
SOURCEFILEuhelpu!file containing Python sourcecodeu-bu	--browseruactionu
store_trueu launch a browser to show resultsu-cu
--completeubuild a complete html webpageu-lu--latexubuild a LaTeX documentu-ru--rawuraw parse of categorized textu-su	--sectionu3show an HTML section rather than a complete webpageuVThe -s/--section option is incompatible with the -b/--browser or -c/--complete optionsutitleu.htmluwufile://(uu(uu(uu(uu(uu(uu(uu(uu(9u__doc__u
__author__ukeywordutokenizeucgiureu	functoolsubuiltinsuImportErroru__builtin__u
is_builtinu
combine_rangeuanalyze_pythonu
raw_highlightudefault_ansiuansi_highlightuhtml_highlightudefault_cssudefault_htmlubuild_html_pageudefault_latex_commandsudefault_latex_documentualltt_escapeulatex_highlightu__name__usysuargparseu
webbrowseruosutextwrapuArgumentParseruRawDescriptionHelpFormatterudedentuparseruadd_argumentu
parse_argsuargsusectionubrowserucompleteuerroru
sourcefileuopenufureadusourceuclassified_texturawuencodedulatexupathusplitextubasenameuhtmlfileuwriteuabspathustdout(((u</opt/alt/python33/lib64/python3.3/Tools/scripts/highlight.pyu<module>s�<
)	

	

<							&