o
    ^i                     @   s   d dl Z d dlZd dlmZmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ er6ddlmZ dd	lmZ d
e jddfddZded
e jddfddZdZdddZdee fddZedkree  dS dS )    N)TYPE_CHECKINGOptional   )__version__)create_markdown)MarkdownRenderer)RSTRenderer)BaseRenderer)Markdownargsreturnr
   c                 C   sT   | j r| j }ng d}| jdkrt }n| jdkrt }n| j}t| j| j||dS )N)strikethrough	footnotestablespeeduprstmarkdown)escape	hard_wraprendererplugins)pluginr   r   r   r   r   hardwrap)r   r   r    r   K/home/ubuntu/hpml_nyu/venv/lib/python3.10/site-packages/mistune/__main__.py_md   s   

r   textc                 C   sN   |j r!t|j d}||  W d    d S 1 sw   Y  d S t|  d S )Nw)outputopenwriteprint)r   r   fr   r   r   _output$   s
   "r#   a  Mistune, a sane and fast python markdown parser.

Here are some use cases of the command line tool:

    $ python -m mistune -m "Hi **Markdown**"
    <p>Hi <strong>Markdown</strong></p>

    $ python -m mistune -f README.md
    <p>...

    $ cat README.md | python -m mistune
    <p>...
c                  C   s<  t jdtt jd} | jdddd | jddd	d | jd
dddddd | jdddd | jdddd | jdddd | jddddd | jdd d!t d" |  }|j}|s^|js^t	 }|rvt
|}||}t|tsoJ t|| d S |jrt
|}||jd# }t|tsJ t|| d S td$ td% d S )&Nzpython -m mistune)progdescriptionformatter_classz-mz	--messagezthe markdown message to convert)helpz-fz--filezthe markdown file to convertz-pz--pluginNAMEextend+zspecifiy a plugin to use)metavaractionnargsr'   z--escape
store_truezturn on escape option)r,   r'   z
--hardwrapzturn on hardwrap optionz-oz--outputz#write the rendered result into filez-rz
--rendererhtmlzspecify the output renderer)defaultr'   z	--versionversionzmistune )r,   r1   r   z"You MUST specify a message or filer   )argparseArgumentParserCMD_HELPRawDescriptionHelpFormatteradd_argumentr1   
parse_argsmessagefile
read_stdinr   
isinstancestrr#   readr!   sysexit)parserr   r8   mdr   r   r   r   cli;   sz   
rB   c                  C   s   t j  } | rt j S d S )N)r>   stdinisattyr=   )is_stdin_piper   r   r   r:   ~   s   
r:   __main__)r   N)r2   r>   typingr   r    r   r1   r   renderers.markdownr   renderers.rstr   corer	   r   r
   	Namespacer   r<   r#   r4   rB   r:   __name__r   r   r   r   <module>   s$    
C
