o
    Hëi™  ã                   @   s”   d Z ddlZddlZddlmZ ddlmZ dd„ Zdd„ Zd	d
„ Z	dd„ Z
edkrFdZe d¡Ze e¡ZeD ]Zed e¡ƒ edƒ q8dS dS )u5   
èŽ·å–æ‰€æœ‰å­—ç¬¦ä¸²å¹¶å¾—åˆ°åˆ†å‰²åŽçš„å…³é”®è¯
é    N)Úoc_util)Úe_print_annotationc              
      sH  g }g d¢‰ t jtjddD ]G\}}}dd„ |D ƒ|d d …< ‡ fdd„|D ƒ|d d …< |D ]'}t j ||¡}t|dƒ}| ¡ }t||ƒ W d   ƒ n1 sOw   Y  q-qg }	|D ])}
t	 
d|
¡}|D ]}t| ¡ ƒd	ks|t|ƒs|t|ƒd
ks|||	v r}qd|	 |¡ qdqZ|	jdd„ dd t| dƒ}|	D ]	}| |d ¡ q”| ¡  d S )N)z.hz.mz.mmT)Útopdownc                 S   s   g | ]}|  d ¡dkr|‘qS )z
.frameworkF)Úendswith)Ú.0Úd© r   úA/data/storage/obfuscation/tool/ObjectiveC/oc_function/d_string.pyÚ
<listcomp>   s    z&get_project_string.<locals>.<listcomp>c                    s$   g | ]}t j |¡d  ˆ v r|‘qS )é   )ÚosÚpathÚsplitext)r   Úf©Úsupport_typer   r	   r
      s   $ Úrz[^a-zA-Z0-9_]r   Fc                 S   s   t | ƒS )N)Úlen)Úir   r   r	   Ú<lambda>   s    z$get_project_string.<locals>.<lambda>)ÚkeyÚreverseúa+Ú
)r   Úwalkr   Úpath_mix_projectr   ÚjoinÚopenÚreadÚsearch_stringÚreÚsplitr   ÚstripÚ	is_numberÚcontain_englishÚappendÚsortÚwriteÚclose)Ú	save_pathÚlist_stringÚrootÚdirsÚfilesÚnameÚ	file_pathr   Úfile_contentÚ
list_wordsÚeachÚa_listÚaÚfile_managerÚwordr   r   r	   Úget_project_string   s4   þ€þ,ý
r7   c                 C   s    t  d¡}| | ¡}|rdS dS )Nz&^[-+]?[-0-9]\d*\.\d*|[-+]?\.?[0-9]\d*$TF)r    ÚcompileÚmatch)ÚnumÚpatternÚresultr   r   r	   r#   "   s
   

r#   c                 C   s   t t d| ¡ƒS )Nz[a-zA-Z])Úboolr    Úsearch)Ústr0r   r   r	   r$   *   s   r$   c                 C   s˜  t tjd d dƒ}t | ¡} t | ¡} |  dd¡} t tjd d dƒ}t d¡}| 	| ¡}|D ]}d 
|dd	… ¡}| |d
 ¡ q0t d¡}| 	| ¡}|D ]}d 
|dd	… ¡}| |d
 ¡ qOt d¡}| 	| ¡}|D ](}d 
|¡}t d¡}	|	 	|¡}
|
D ]}d 
|d |d  ¡}| |d
 ¡ qqnt dtj¡}| 	| ¡}|D ]$}d 
|dd… ¡}||vrÉd 
|dd	… ¡}| |d
 ¡ | |¡ q¥dS )u#    ç¬¬äºŒç§æŸ¥æ‰¾å­—ç¬¦ä¸²çš„æ–¹æ³• u   /å·¥ç¨‹ä¸­æ‰€æœ‰å­—ç¬¦ä¸²åˆ—è¡¨z.txtr   z@""Ú u   /å·¥ç¨‹ä¸­å¸¸é‡å­—ç¬¦ä¸²åˆ—è¡¨zV(NSString)( {0,})(\*)( {0,})(const)( {1,})(.*?)( {0,})(=)( {0,})(@")(.*?)([^\\])(")(;)é   éþÿÿÿr   zW(static)( {1,})(NSString)( {0,})(\*)( {0,})(.*?)( {0,})(=)( {0,})(@")(.*?)([^\\])(")(;)z,(NSLocalizedStringFromTable\(@")(.*?)(nil\))z(@")(.*?)([^\\])(")r   é   z0(@")(.*?)([^\\])(")([ |\]|;|,|\n|:|\)|\.|\}|\?])Néÿÿÿÿ)r   r   Úpath_mixr   Úsearch_annotation_and_deleteÚsearch_print_and_deleteÚreplacer    r8   Úfindallr   r'   ÚSr%   )r0   r*   r5   Úconst_managerÚp2Úb_listÚbÚ	my_stringÚb_strÚp3Úc_listÚcÚp1r3   r4   Ústr_ar   r   r	   r   ,   sF   










þ

€ûr   Ú__main__zx
    "svdav" @"{mode_id:113,template_id:77}" "avsveafvea"
    @"vfsdavds" "fqevfew" "gsdbgs"
    @"e132"
    "4115"
    z(@")([^@"]*)(")r@   z------------------)Ú__doc__r   r    Ú
ObjectiveCr   ÚObjectiveC.oc_functionr   r7   r#   r$   r   Ú__name__Ústringr8   rT   rI   r3   r4   Úprintr   r   r   r   r	   Ú<module>   s"    .


ô
