
    ^j                     h   d dl Z d dlZd dlZd dlmZ  ee                                          j        d         Zdedz  edz  fdedz  ed	z  fgZ	d
Z
d Zd Zedk    rS	  ej         e                       dS # e$ r0Z ede ej                    ej        d           Y dZ[dS dZ[ww xY wdS )    N)Path   	narrationzstory/spoken-narration.txtzlog/tts-pronunciation.jsonintrozaudio/intro-voice-source.txtz log/intro-tts-pronunciation.json)FacebookYouTubeaudiovideoradiovalic                 p    t          j        dt          j        |           z   dz   t           j                  S )Nu   (?<![0-9A-Za-zÀ-ỹĐđ])u   (?![0-9A-Za-zÀ-ỹĐđ]))recompileescape
IGNORECASE)tokens    script/audit-pronunciation.pyrxr      s.    :3bi6F6FFIeegigtuuu    c            	         g } d}t           D ]\  }}}|                                r|                                st          d|           |                    d          }t	          j        |                    d                    }d |                    dg           D             }i }t          D ]}	t          t          |	          
                    |                    }
|                    |	                                i           }|                    d          }||
k    }|
||d||	<   |o|}|o,|                    d	          du o|                    d
           }|                     |t          |                    t                              |d           t!          t	          j        || dd                     |rdndS )NTz)missing pronunciation source/receipt for zutf-8)encodingc                 D    i | ]}|d                                           |S )source)casefold).0rows     r   
<dictcomp>zmain.<locals>.<dictcomp>   s*    XXXcCM**,,cXXXr   lexiconreplacement_count)source_countr   verifiedr!   unresolved_required)kindr   counts)r!   sourcesF)ensure_asciir   r   )SPECSis_fileRuntimeError	read_textjsonloadsgetKNOWNlenr   findallr   appendstrrelative_toPROJECTprintdumps)rowsr!   r#   source_pathreceipt_pathr   receiptby_tokenr$   r   r    r   r   oks                 r   mainr=      s   DH+0 g g'k<""$$ 	SL,@,@,B,B 	SQ4QQRRR&&&88*\33W3EEFFXXW[[TV=W=WXXX 	' 	'Er%yy008899L,,u~~//44C #(; < <"l2B-9PaoqrrF5MBHHjJ 7 74 ?jTiHjHjDjTS1H1H1Q1Q-R-R^deeffff	$*(t<<5
Q
Q
QRRR11ar   __main__zPronunciation audit blocked: )file)r+   r   syspathlibr   __file__resolveparentsr4   r'   r.   r   r=   __name__exit	Exceptionexcr5   stderr r   r   <module>rK      sA    				 



      
$x..
 
 
"
"
*1
-'88'D`:`ag66Bd8de	 	Cv v v     . z   3c33#*EEEE s    A: :B/?%B**B/