o
    Tiq	                  
   @   s   d dl mZ d dlmZ d dlmZ d dlZd dlZd dlm	Z	 d dl
mZmZ d dlmZmZmZmZ eded	d
d eD ZeeeedZdd Zdd Zdd Zdd Zdd Zedkrqeejdd  dS dS )    )unicode_literals)ArgumentParser)partialN)PY2)PHONETIC_SYMBOL_DICT'PHONETIC_SYMBOL_DICT_KEY_LENGTH_NOT_ONE)	to_normalto_toneto_tone2to_tone3u   (?m)(^|\s|,)([1-5a-zêü{0}]+) c                 c   s     | ]}t |d kr|V  qdS )   N)len).0x r   N/home/ubuntu/.local/lib/python3.10/site-packages/pypinyin/tools/toneconvert.py	<genexpr>   s    r   c                 C   s(   t |  }||d}d|d|S )N   z{0}{1}r   )ACTIONSgroupformat)action	match_objfunc	convertedr   r   r   re_sub.   s   r   c                 C   s*   t  D ]\}}|| v r| ||} q| S N)r   itemsreplace)inputkvr   r   r   prepare4   s
   r#   c                    s8   |j }|D ]}t|}t fdd|}t| qd S )Nc                    s
   t  | S r   )r   )mr   r   r   <lambda>?   s   
 zconvert.<locals>.<lambda>)inputsr#   	re_pinyinsubprint)r   argsr'   itemresultr   r%   r   convert;   s   
r.   c                  C   s   t  } ts
tjdk r|  }n| jddd}t D ]$}|dd}tt	|}|j
|d|d}|j|d	 |jd
dd q| S )N)      Tsubcommands)requiredtitle_-z3call pypinyin.contrib.tone_convert.{}() with inputs)help)r   r'   +)nargs)r   r   sysversion_infoadd_subparsersr   keysr   r   r.   
add_parserr   set_defaultsadd_argument)parser	subparserkeynamer   pr   r   r   
get_parserC   s   

rE   c                 C   sV   | d d  } t j st j  }nd}|r| | t }|| }|| d S )Nr   )	r9   stdinisattyreadstripappendrE   
parse_argsr   )argv	pipe_datar@   r+   r   r   r   mainW   s   


rN   __main__r   )
__future__r   argparser   	functoolsr   rer9   pypinyin.compatr   pypinyin.style._constantsr   r   pypinyin.contrib.tone_convertr   r	   r
   r   compiler   escapejoinr(   r   r   r#   r.   rE   rN   __name__rL   r   r   r   r   <module>   s8   