o
    Ti                  	   @   sb  d dl mZ d dlmZ d dlZd dlZd dlZd dlmZ i dej	j
dej	j
dej	jdej	jd	ej	jd
ej	jdej	jdej	jdej	jdej	jdej	jdej	jdej	jdej	jdej	jdej	jdej	jej	jej	jej	jej	jej	jej	jej	jdZejejdZdZG dd deZdd Zdd Z e!dkre   dS dS )    )unicode_literals)ArgumentParserN)PY2NORMALzhaoTONEzh4aoTONE2zha4oTONE3zhao4INITIALSzhFIRST_LETTERzFINALSaoFINALS_TONE4aoFINALS_TONE2)a4oFINALS_TONE3ao4BOPOMOFOBOPOMOFO_FIRSTCYRILLICCYRILLIC_FIRSTpinyinslugc                   @   s   e Zd ZdZdd ZdS )
NullWriteru>   数据流黑洞，类似 linux/unix 下 /dev/null 的效果。c                 C   s   d S )N )selfstringr!   r!   C/home/ubuntu/.local/lib/python3.10/site-packages/pypinyin/runner.pywrite/   s   zNullWriter.writeN)__name__
__module____qualname____doc__r%   r!   r!   r!   r$   r    -   s    r    c                  C   s   t dd} | jddddtjtjd | jdd	d
ddgdd | jdddtt td | jddddd | jdddg ddd | jddddd | jd d!d"d# | S )$Nzconvert chinese to pinyin.)descriptionz-Vz	--versionversionz{0} {1})actionr+   z-fz--funcz!function name (default: "pinyin")r   r   )helpchoicesdefaultz-sz--stylezpinyin style (default: "{0}")z-pz--separatorzslug separator (default: "-")-)r-   r/   z-ez--errorsz5how to handle none-pinyin string (default: "default"))r/   ignorereplacer/   z-mz--heteronymzenable heteronym
store_true)r-   r,   hans+zchinese string)nargsr-   )	r   add_argumentformatpypinyin	__title____version__default_style	style_mapkeys)parserr!   r!   r$   
get_parser3   s<   


r@   c                     sl  t t j tj stj  } nd} tjdd  }| r#|	|  t
 }||}tr6dd |jD }n|j}tt|j t|j |j}|j}|j}||d|||dd}tra| j n| j t  t_t_ fdd|D }	tjt_tjt_|	D ]1}
|
std q|
rt|
tt frt|
d	 tt frtd
!dd |
D  qt|
 qt|
 qd S )N    c                 S   s   g | ]}| tjjpd qS )zutf-8)decodesysstdinencoding.0hanr!   r!   r$   
<listcomp>e   s    zmain.<locals>.<listcomp>)	heteronymerrors)rK   	separatorrL   r   c                    s    g | ]} |fd iqS )styler!   rG   funckwargsrN   r!   r$   rJ   ~   s     r    c                 S   s   g | ]}d  |qS ),)join)rH   sr!   r!   r$   rJ      s    )"loggingdisableCRITICALrD   rE   isattyreadstripargvappendr@   
parse_argsr   r4   getattrr9   rP   r=   rN   rK   rM   rL   	func_namer&   r    stdoutstderr
__stdout__
__stderr__print
isinstancelisttuplerT   )	pipe_dataargsr?   optionsr4   rK   rM   rL   func_kwargsresultsresultr!   rO   r$   mainT   sP   







ro   __main__)"
__future__r   argparser   rV   rD   r9   pypinyin.compatr   Styler   r   r	   r   r   r   r   r   r   r   r   r   r   r   r=   r   r   func_mapr<   objectr    r@   ro   r&   r!   r!   r!   r$   <module>   sv   	
!;
