o
    +e                     @  s   d dl mZ d dlZd dlZd dlZd dlZd dlZzd dlmZ	 W n! e
yC   zd dlmZ	 W n e
y@   d dlmZ	 Y nw Y nw d dlZd dlmZmZmZ edZdddZd	d
 Zedkrie  dS dS )    )annotationsN)unsafe_load)load)DEBUGWARNINGCRITICALZMARKDOWNc                 C  s  d}d}dt j }tj|||d}|jddddd	d
d |jddddd |jddddddd |jddddddd |jdd d!d"d#d$d% |jd&d'd(dd)d*d |jd+d,td-td. d/d0d1 |jd2d3d-td/d4d5 |jd6d-td/d7d5 || |\}} t	| d8krd}n| d8 }|j
sg |_
i }|jrtj|jd9|jd:,}	zt|	}W n ty }
 zd;|j }|f|
jd<d  |
_ d}
~
ww W d   n1 sw   Y  ||j|j
||j|j|jd=}||jfS )>zE
    Define and parse `optparse` options for command-line usage.
    zN%prog [options] [INPUTFILE]
       (STDIN is assumed if no INPUTFILE is given)zUA Python implementation of John Gruber's Markdown. https://Python-Markdown.github.io/z	%%prog %s)usagedescriptionversionz-fz--filefilenameNz0Write output to OUTPUT_FILE. Defaults to STDOUT.ZOUTPUT_FILE)destdefaulthelpmetavarz-ez
--encodingencodingz$Encoding for input and output files.)r   r   z-oz--output_formatoutput_formatZxhtmlZOUTPUT_FORMATz.Use output format 'xhtml' (default) or 'html'.)r   r   r   r   z-nz--no_lazy_ollazy_olstore_falseTz.Observe number of first item of ordered lists.)r   actionr   r   z-xz--extensionappend
extensionszLoad extension EXTENSION.Z	EXTENSION)r   r   r   r   z-cz--extension_configs
configfileaq  Read extension configurations from CONFIG_FILE. CONFIG_FILE must be of JSON or YAML format. YAML format requires that a python YAML library be installed. The parsed JSON or YAML must result in a python dictionary which would be accepted by the 'extension_configs' keyword on the markdown.Markdown class. The extensions must also be loaded with the `--extension` option.ZCONFIG_FILEz-qz--quietstore_const
   verbosezSuppress all warnings.)r   r   constr   r   z-vz	--verbosezPrint all warnings.)r   r   r   r   z--noisyzPrint debug messages.r   r)moder   z(Failed parsing extension config file: %s   )inputoutputr   extension_configsr   r   r   )markdown__version__optparseZOptionParserZ
add_optionr   r   r   
parse_argslenr   r   codecsopenr   	yaml_load	Exceptionargsr   r   r   r   )r+   valuesr   ZdescZverparseroptionsZ
input_filer!   fpemessageZopts r2   1lib/python3.10/site-packages/markdown/__main__.pyparse_options.   s   








r4   c                  C  sx   t  \} }| std t| t }t| |tkr2t	
d td td}|| tjdi |  dS )z#Run Markdown from the command line.   r   Tzpy.warningsNr2   )r4   sysexitloggerZsetLevelloggingZStreamHandlerZ
addHandlerr   warningsfilterwarningsZcaptureWarnings	getLoggerr"   ZmarkdownFromFile)r.   Zlogging_levelZconsole_handlerZwarn_loggerr2   r2   r3   run   s   







r=   __main__)NN)Z
__future__r   r6   r$   r'   r:   r"   Zyamlr   r)   ImportErrorr   Zjsonr9   r   r   r   r<   r8   r4   r=   __name__r2   r2   r2   r3   <module>   s0   

Q
