
    љix                     N    S SK r S SKrS SKJrJrJrJr  SSKJr   " S S\5      r	g)    N)ListTupleUnionCallable   )TTSPreprocessorc            	           \ rS rSrSS.S\\\\\4   \\R                  \4   4      4S jjr
S rS rSS	.S
\\\R                  4   S\\\4   S\4S jjrSS\S\S\S\4S jjrSrg)PatternMatchPreprocessor   N)patternsr   c                d    / U l         U(       a"  U H  nU R                  US   US   5        M     g g )Nr   r   )compiled_patternsadd_pattern)selfr   patterns      d/home/james-whalen/.local/lib/python3.13/site-packages/aiavatar/sts/tts/preprocessor/patternmatch.py__init__!PatternMatchPreprocessor.__init__   s6    
 "$#  WQZ8 $     c                 N   ^ SSSSSSSSS	S
S.
mU4S jnU R                  SUSS9  g )N   ゼロ    イチ    ニ    サン    ヨン    ゴ    ロク    ナナ    ハチ 
   キュー 
0123456789c                    > U R                  S5      R                  S5      n/ nU H/  nSR                  U4S jU 5       5      nUR                  U5        M1     SR                  U5      $ )Nr   - c              3   F   >#    U  H  nTR                  X5      v   M     g 7fNget.0digitnum_maps     r   	<genexpr>\PatternMatchPreprocessor.add_number_dash_pattern.<locals>.convert_numbers.<locals>.<genexpr>        *WRV7;;u+D+DRV   !   のgroupsplitjoinappendmatchpartsconverted_partspartconverted_digitsr6   s        r   convert_numbersIPatternMatchPreprocessor.add_number_dash_pattern.<locals>.convert_numbers   `    KKN((-E O#%77*WRV*W#W &&'78  ::o..r   z\d+(?:-\d+)+Tregexr   )r   rG   r6   s     @r   add_number_dash_pattern0PatternMatchPreprocessor.add_number_dash_pattern   s<    iiiiil

	/ 	/Fr   c                 N   ^ SSSSSSSSS	S
S.
mU4S jnU R                  SUSS9  g )Nr   r   r   r   r   r   r   r   r   r    r!   c                    > U R                  S5      R                  S5      n/ nU H/  nSR                  U4S jU 5       5      nUR                  U5        M1     SR                  U5      $ )Nr   r-   r.   c              3   F   >#    U  H  nTR                  X5      v   M     g 7fr0   r1   r3   s     r   r7   ZPatternMatchPreprocessor.add_phonenumber_pattern.<locals>.convert_phone.<locals>.<genexpr>0   r9   r:   r;   r<   rA   s        r   convert_phoneGPatternMatchPreprocessor.add_phonenumber_pattern.<locals>.convert_phone*   rI   r   z\d{2,4}-\d{4}-\d{4}TrJ   rL   )r   rS   r6   s     @r   add_phonenumber_pattern0PatternMatchPreprocessor.add_phonenumber_pattern$   s=    iiiiil

	/ 	/dKr   FrJ   r   replacementrK   c                   [        U[        R                  5      (       a  UnOJU(       a  [        R                  " U5      nO,[        R                  " U5      n[        R                  " U5      nU R
                  R                  XB45        g r0   )
isinstancerePatterncompileescaper   r@   )r   r   rW   rK   compiled_patternescaped_patterns         r   r   $PatternMatchPreprocessor.add_pattern7   s`    grzz**&!zz'2 ii0O!zz/:%%'7&EFr   text
style_infolanguagereturnc                    #    UnU R                    H  u  pV UR                  Xd5      nM     U$ ! [         a&  n[        R                  " SU SU 3SS9   S nAMH  S nAff = f7f)NzError at pattern match (text=z): T)exc_info)r   sub	Exceptionloggingerror)r   ra   rb   rc   	convertedr^   rW   exs           r   process PatternMatchPreprocessor.processA   sp     	-1-C-C)a,00H	 .D   a =i[B4P[_``as*   A!.A!
AAA!AA!)r   )NN)__name__
__module____qualname____firstlineno__r   r   r   strrZ   r[   r   rM   rU   r   boolr   dictrm   __static_attributes__ r   r   r
   r
      s     JN9 uU38_eBJJO.DDEF9G$L& pu G5bjj#9 GcS[mH\ Ghl G# 4 # Y\  r   r
   )
rZ   ri   typingr   r   r   r   r.   r   r
   rw   r   r   <module>ry      s"    	  / / B Br   