U
    ShU                     @  s   d Z ddlmZ ddlZddlmZmZ ddlZddlm	Z	 ddl
mZ de	Zd dd	d
ddZdddddZdddddZddddZddd
ddZddddZedkreejdd Zee dS )!zo
CLI interface to markdown-it-py

Parse one or more markdown files, convert each to HTML, and print to stdout.
    )annotationsN)IterableSequence)__version__)
MarkdownItzmarkdown-it-py [version {}]zSequence[str] | Noneint)argsreturnc                 C  s$   t | }|jrt|j nt  dS )Nr   )
parse_args	filenamesconvertinteractive)r   	namespace r   H/root/rtd-docs/venv/lib/python3.8/site-packages/markdown_it/cli/parse.pymain   s
    r   zIterable[str]None)r   r	   c                 C  s   | D ]}t | qd S )N)convert_file)r   filenamer   r   r   r      s    r   str)r   r	   c              	   C  st   z<t | dddd"}t | }t|dd W 5 Q R X W n2 tk
rn   tjd|  d t	d	 Y nX d
S )z>
    Parse a Markdown file and dump the output to stdout.
    rutf8ignore)encodingerrors endzCannot open file "z".
   N)
openr   renderreadprintOSErrorsysstderrwriteexit)r   Zfinrenderedr   r   r   r   !   s    r   )r	   c               
   C  s   t   g } d}z&|rdnd\}}| t|d  W q tk
rn   tdt d|  dd d}g } Y q tk
r   td Y qY qX qdS )	zT
    Parse user input, dump to stdout, rinse and repeat.
    Python REPL style.
    F)z... T)z>>> T
r   r   z	
Exiting.N)	print_headingappendinputEOFErrorr"   r   r    joinKeyboardInterrupt)contentsmorepromptr   r   r   r   .   s    r   zargparse.Namespacec                 C  sF   t jddt dt jd}|jdddtd |jd	d
dd || S )zParse input CLI arguments.zKParse one or more markdown files, convert each to HTML, and print to stdoutz9
Interactive:

  $ markdown-it
  markdown-it-py [version a  ] (interactive)
  Type Ctrl-D to complete input, or Ctrl-C to exit.
  >>> # Example
  ... > markdown *input*
  ...
  <h1>Example</h1>
  <blockquote>
  <p>markdown <em>input</em></p>
  </blockquote>

Batch:

  $ markdown-it README.md README.footer.md > index.html
)descriptionepilogformatter_classz-vz	--versionversion)actionr6   r   *z,specify an optional list of files to convert)nargshelp)argparseArgumentParserr   RawDescriptionHelpFormatteradd_argumentversion_strr
   )r   parserr   r   r   r
   C   s      r
   c                   C  s   t dt t d d S )Nz{} (interactive)z1Type Ctrl-D to complete input, or Ctrl-C to exit.)r"   formatr?   r   r   r   r   r*   f   s    r*   __main__r   )N)__doc__
__future__r   r;   collections.abcr   r   r$   Zmarkdown_itr   Zmarkdown_it.mainr   rA   r?   r   r   r   r   r
   r*   __name__argv	exit_coder'   r   r   r   r   <module>   s    
	#