U
    \>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 nF e
k
r   zd dlmZ	 W n  e
k
r   d dlmZ	 Y nX Y nX 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re  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rd}n| d8 }|j
s"g |_
i }|jrtj|jd9|jd:Z}	zt|	}W nF tk
r }
 z&d;|j }|f|
jd<d  |
_ W 5 d}
~
X Y nX W 5 Q R X ||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__optparseOptionParser
add_optionr   r   r   
parse_argslenr   r   codecsopenr   	yaml_load	Exceptionargsr   r   r   r   )r-   valuesr   descverparseroptionsZ
input_filer!   fpemessageopts r7   5/tmp/pip-unpacked-wheel-wj0og6ym/markdown/__main__.pyparse_options.   s    


 
   
        
r9   c                  C  st   t  \} }| std t| t }t| |tkrdt	
d td td}|| tjf |  dS )z#Run Markdown from the command line.   r   Tzpy.warningsN)r9   sysexitloggersetLevelloggingStreamHandler
addHandlerr   warningsfilterwarningscaptureWarnings	getLoggerr"   ZmarkdownFromFile)r2   Zlogging_levelZconsole_handlerZwarn_loggerr7   r7   r8   run   s    







rF   __main__)NN)
__future__r   r;   r$   r)   rB   r"   Zyamlr   r+   ImportErrorr   jsonr?   r   r   r   rE   r=   r9   rF   __name__r7   r7   r7   r8   <module>   s&   

Q