o
    >Di	                     @   s^   d Z ddlZddlZddlZddlmZ ddlZdd Zdd Zdd	 Z	e
d
kr-e	  dS dS )z
Command line interfaces
    N)ArgumentParserc              	   C   s   z|  dd\}}tt||}W |S  ty"   td Y d S  ty2   td|  Y d S  tyF   td| d|  Y d S w )N.   zPlease supply module.classname.zCannot import module %szCannot find class z in module )	rsplitgetattr	importlibimport_module
ValueErrorsysexitImportErrorAttributeError)import_stringmodule	classnamecls r   B/var/www/Datamplify/venv/lib/python3.10/site-packages/marko/cli.pyimport_class   s   r   c                 C   s   t dd}|jdddtjd |jddtd	d
d |jddtddd |jdddg ddd |jdddd |jdddd || S )Nmarko)progz-vz	--versionversion)actionr   z-pz--parserzmarko.ParserzSpecify another parser class)typedefaulthelpz-rz
--rendererzmarko.HTMLRendererzSpecify another renderer classz-ez--extensionappend
EXTENSTIONzASpecify the import name of extension, can be given multiple times)r   r   metavarr   z-oz--outputzOuput to a file)r   document?z5The document to convert, will use stdin if not given.)nargsr   )r   add_argumentr   __version__r   
parse_args)argsparserr   r   r   parse   s>   

r'   c                  C   s   t tjdd  } | jr)tj| jdd}| }W d    n1 s#w   Y  ntj rBtj	
dr6dnd}td|tjd tj }tj| j| j| jd	}||}| jrztj| jd
dd}|| W d    d S 1 ssw   Y  d S t| d S )Nr   zutf-8)encodingwinz"Ctrl+Z followed by the key 'Enter'zCtrl+Dz9Type in the markdown content to be converted. End with {})file)
extensionsw)r'   r
   argvr   codecsopenreadstdinisattyplatform
startswithprintformatstderrr   Markdownr&   renderer	extensionoutputwrite)	namespacefcontent	keystrokemarkdownresultr   r   r   main>   s6   



"rC   __main__)__doc__r.   r   r
   argparser   r   r   r'   rC   __name__r   r   r   r   <module>   s    #
