Files
zhenxun_bot/util/__pycache__/langconv.cpython-38.pyc
T

77 lines
7.5 KiB
Plaintext
Raw Normal View History

2021-05-20 17:06:54 +08:00
U
c’y`Ìã@sxddlmZddlZzddlZe ¡Wn YnXddlmZmZddlZej dkZ
e
rbdZ n\iiZ Z
ee fee
ffD].\ZZe ¡D]\ZZe d¡ee d¡<qŒq|e Ze
Zd d¡Z eedƒƒ\ZZZZeed ƒƒ\ZZZZZiaGd
d „d e ƒZ!Gd d
„d
e ƒZ"Gdd„de#ƒZ$Gdd„de ƒZ%Gdd„de ƒZ&dd„Z'e'deƒe'deƒ[[dd„Z(e)dk�rte(ƒdS)é)ÚdeepcopyNé)Úzh2HantÚzh2Hans)érrÚÚutf8ééc@s2eZdZd dd„Zdd„Zdd „Zd
d „ZeZdS)
ÚNodeNTFcCsT||_|dkr(||_|||f|_d|_n|p.||_|||f|_d|_||_||_dS)NTF)Ú from_wordÚto_wordÚdataÚ is_originalÚis_tailÚ
have_child)Úselfr r
rr©rú'/home/hibiki/hibikibot/util/langconv.pyÚ__init__%s 
 z
Node.__init__cCs|jot|jƒdkS©Nr)rÚlenr ©rrrrÚis_original_long_word3szNode.is_original_long_wordcCs||jdd…kS)Néÿÿÿÿ)r )rÚcharsrrrÚ is_follow6szNode.is_followcCs dt|jƒt|jƒ|j|jfS)Nz<Node, %s, %s, %s, %s>)Úreprr r
rrrrrrÚ__str__9s

ÿz Node.__str__)NTF)Ú__name__Ú
__module__Ú __qualname__rrrrÚ__repr__rrrrr $sÿ
r c@s6eZdZd dd„Zdd„Zdd„Zdd „Zd
d „ZdS)
Ú
ConvertMapNcCs||_i|_|r| |¡dS©N)ÚnameÚ_mapÚset_convert_map)rr%Úmappingrrrr@szConvertMap.__init__cCs¨i}i}d}t| ¡ƒD]N}t|ƒdkrPtdt|ƒƒD]}|d|…}d||<q6d||<t|t|ƒƒ}qt| ¡ƒD]"}||k||| |t¡f||<qt||_||_dS)NrrTF) ÚsortedÚkeysrÚrangeÚmaxÚgetÚUEMPTYr&Úmax_key_length)rr(Z convert_maprr/ÚkeyÚiZ
parent_keyrrrr'Fs   
 
ÿ
zConvertMap.set_convert_mapcCs:z |j|\}}}t||||ƒWSt|ƒYSXdSr$)r&r )rÚkrrr
rrrÚ __getitem__Ws
zConvertMap.__getitem__cCs
||jkSr$)r&)rr2rrrÚ __contains__^szConvertMap.__contains__cCs
t|jƒSr$)rr&rrrrÚ__len__aszConvertMap.__len__)N)rr r!rr'r3r4r5rrrrr#?s

r#c@s eZdZdS)ÚStatesMachineExceptionN)rr r!rrrrr6dsr6c@s8eZdZdd„Zdd„Zdd„Zdd„Zd d
„ZeZd S) Ú
StatesMachinecCst|_t|_d|_t|_dS)Nr)ÚSTARTÚstater.ÚfinalrÚpoolrrrrrgszStatesMachine.__init__cCst|ƒ}t|_||_|Sr$)rÚ WAIT_TAILr9r;)rr;ÚnewrrrÚclonemszStatesMachine.clonecCs¬||j|}|jr2|jr,|jr&t}q0t}qBt}n|jr>t}nt}d}|tkrXt |_
�nP|tkr¨|j
t krz|  ¡rzt |_
n*|j
|j7_
|jd7_t|_t|_
�n|j
tks¾|j
t k�rp|tkrþ| |j¡}|j
|j7_
|jd7_t|_
t|_np|tk�s|tk�r¨|j
tk�rP| |j¡}|j
|j7_
|jd7_t|_
n| |j¡�rft |_
n|j|_n8|j
tk�r�t|_
| ||¡}n|j
t k�r¨td|ƒ‚|S)Nrz6Translate States Machine have error with input data %s)r;rrrÚUNMATCHED_SWITCHÚMATCHED_SWITCHÚ CONNECTORÚTAILÚERRORÚFAILr9r<rr:r
rr.ÚENDr8r>r rÚfeedr6)rÚcharÚmapÚnodeÚcondr=rrrrFssX

   
  ÿzStatesMachine.feedcCs
|jdSr©rrrrrr5ªszStatesMachine.__len__cCsdt|ƒ|j|j|jfS)Nz4<StatesMachine %s, pool: "%s", state: %s, final: %s>)Úidr;r9r:rrrrr­s ÿzStatesMachine.__str__N) rr r!rr>rFr5rr"rrrrr7fs 7r7c@sDeZdZdd„Zdd„Zdd„Zdd„Zd d
„Zd d „Zd
d„Z dS)Ú ConvertercCs||_t||_| ¡dSr$)Ú to_encodingÚMAPSrHÚstart)rrNrrrr³s
zConverter.__init__cCs€g}|jD] }| ||j¡}|r
| |¡q
|r<|j |¡dd„|jDƒ|_d}|jD]}|jtkrXd}qX|rx| ¡| ¡S)NcSsg|]}|jtkr|‘qSr)r9rD©Ú.0ÚfsmrrrÚ
<listcomp>Às
z"Converter.feed.<locals>.<listcomp>TF) ÚmachinesrFrHÚappendÚextendr9rEÚ_cleanÚ
get_result)rrGZbranchesrSr=Úall_okrrrrF¸s
  

zConverter.feedcCs@t|jƒr2|jjdd„d�|j|jdj7_tƒg|_dS)NcSst|ƒSr$rK)ÚxrrrÚ<lambda>Ëóz"Converter._clean.<locals>.<lambda>)r0r)rrUÚsortr:r7rrrrrXÉs
zConverter._cleancCstƒg|_t|_dSr$)r7rUr.r:rrrrrPÐs
zConverter.startcCsdd„|jDƒ|_| ¡dS)NcSs$g|]}|jtks|jtkr|‘qSr)r9rDrErQrrrrTÕs
ÿz!Converter.end.<locals>.<listcomp>)rUrXrrrrÚendÔsz
Converter.endcCs,| ¡|D]}| |¡q | ¡| ¡Sr$)rPrFr_rY)rÚstringrGrrrÚconvertÙs
 zConverter.convertcCs|jSr$)r:rrrrrYàszConverter.get_resultN)