o
    Hëiü  ã                   @   sÜ   d Z ddlZddlZddlZddlZddlZdd„ Zdd„ Zdd„ Zd	d
„ Z	dd„ Z
dd„ ZG dd„ dƒZdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ Zdd„ ZG dd „ d ƒZG d!d"„ d"ƒZed#krled$e ¡ ƒ dS dS )%u    
æœ¬æ¬¡æ··æ·†æ‰€æœ‰é…ç½®ä¿¡æ¯
é    Nc                 C   s<   t tdƒr	tj}ntj tj tj t¡¡¡}tj || ¡S )uT   
    èŽ·å–èµ„æºæ–‡ä»¶çš„æ­£ç¡®è·¯å¾„ï¼Œå…¼å®¹PyInstalleræ‰“åŒ…å’Œå¼€å‘çŽ¯å¢ƒ
    Ú_MEIPASS)	ÚhasattrÚsysr   ÚosÚpathÚdirnameÚabspathÚ__file__Újoin)Úrelative_pathÚ	base_path© r   ú4/data/storage/obfuscation/tool/ObjectiveC/oc_util.pyÚget_resource_path   s   
r   c                 C   s   t tj dd| ¡ƒS )u+   
    èŽ·å–é…ç½®æ–‡ä»¶çš„å®Œæ•´è·¯å¾„
    u   é…ç½®æ–‡ä»¶u   ObjectiveCé…ç½®æ–‡ä»¶)r   r   r   r
   )Úfilenamer   r   r   Úget_config_file_path   s   r   c                   C   s  da dag ag adadag ag atƒ a	t
ƒ ag atdddƒadatdddƒadatdddƒadatdddƒadatt ttdƒƒ¡ƒatt ttdƒƒ¡ƒatt ttdƒƒ¡ƒatt ttd	ƒƒ¡ƒatt ttd
ƒƒ¡ƒatt ttdƒƒ¡ƒatt ttdƒƒ¡ƒatƒ ag a d S )NÚ Té   é   Fz00_three.jsonz01_four.jsonz02_five.jsonz03_six.jsonz04_seven.jsonz05_eight.jsonz06_nine.json)!Úpath_mixÚpath_mix_projectÚlist_system_framework_wordÚlist_project_framework_wordÚname_current_projectÚnew_project_nameÚlist_string_wordsÚlist_folder_nameÚFolderÚclass_folderÚFileInfoÚclass_oc_fileÚlist_all_prefixÚrandom_one_prefixÚprefix_folderÚprefix_fileÚprefix_propertyÚprefix_methodÚlistÚjsonÚloadÚopenr   Úlist_three_wordsÚlist_four_wordsÚlist_five_wordsÚlist_six_wordsÚlist_seven_wordsÚlist_eight_wordsÚlist_nine_wordsÚ
read_wordsÚlist_random_wordsÚlist_ignore_keywordr   r   r   r   Úinit   s8   r5   c                  C   s   t dƒ} tt t| ƒ¡ƒS )Nzproject_name.json)r   r'   r(   r)   r*   )r   r   r   r   r2   k   s   r2   c                 C   sF   g }t j | ¡r!t| dƒD ]}d|v rt|ƒ dd¡}| |¡ q|S )u     è¿”å›žæ–‡æœ¬æ¯ä¸€è¡Œçš„åˆ—è¡¨ ÚrÚ
r   )r   r   Úisfiler*   ÚstrÚreplaceÚappend)Ú	file_pathÚaListÚliner   r   r   Úget_text_lineso   s   r?   c                 C   sn   |dkrdS d}g d¢}t |ƒD ]	}|t |¡ }q| r!| ¡ }n| ¡ }|r+|d }|tv r5t| ||ƒS |S )u{    
    è¿”å›žä¸€ä¸ªéšæœºçš„å‰ç¼€ 
    is_upper æ˜¯å¦å¤§å†™
    is_gang æ˜¯å¦å¸¦æ¨ªæ (_)
    num æ˜¯å‡ ä½(ä¸å«_)
    r   r   )ÚAÚBÚCÚDÚEÚFÚGÚHÚIÚJÚKÚLÚMÚNÚOÚPÚQÚRÚSÚTÚUÚVÚWÚXÚYÚZÚ_)ÚrangeÚrandomÚchoiceÚupperÚlowerr!   r"   )Úis_upperÚis_gangÚnumÚprefixÚlettersrZ   r   r   r   r"   y   s   
r"   c                   @   s   e Zd Zdd„ ZdS )r   c                 C   s   g | _ g | _d S ©N)Úold_dir_listÚnew_dir_list©Úselfr   r   r   Ú__init__‘   s   
zFolder.__init__N)Ú__name__Ú
__module__Ú__qualname__rj   r   r   r   r   r      s    r   c                   C   ó
   t  t¡S re   )r\   r]   r+   r   r   r   r   Úthree–   ó   
ro   c                   C   rn   re   )r\   r]   r,   r   r   r   r   Úfour˜   rp   rq   c                   C   rn   re   )r\   r]   r-   r   r   r   r   Úfiveš   rp   rr   c                   C   rn   re   )r\   r]   r.   r   r   r   r   Úsixœ   rp   rs   c                   C   rn   re   )r\   r]   r/   r   r   r   r   Úsevenž   rp   rt   c                   C   rn   re   )r\   r]   r0   r   r   r   r   Úeight    rp   ru   c                   C   rn   re   )r\   r]   r1   r   r   r   r   Únine¢   rp   rv   c                   @   s   e Zd ZdZdd„ ZdS )r   u"    FileInfoæ–‡ä»¶å†…å®¹çš„ä¿¡æ¯ç±» c                 C   sˆ   g | _ g | _g | _g | _g | _g | _g | _g | _g | _g | _	g | _
g | _g | _g | _g | _g | _g | _g | _g | _g | _g | _g | _d S re   )Útotal_wordsÚall_file_name_listÚfile_name_old_listÚfile_name_new_listÚproperty_name_old_listÚproperty_name_new_listÚenum_old_listÚenum_new_listÚblock_old_listÚblock_new_listÚconstant_old_listÚconstant_new_listÚdelegate_old_listÚdelegate_new_listÚmethod_old_listÚmethod_new_listÚlocal_variable_old_listÚlocal_variable_new_listÚclass_name_old_listÚclass_name_new_listÚc_method_old_listÚc_method_new_listrh   r   r   r   rj   §   s,   
zFileInfo.__init__N)rk   rl   rm   Ú__doc__rj   r   r   r   r   r   ¥   s    r   c                   @   s   e Zd ZdZdS )ÚAddContentInfou    æ·»åŠ åžƒåœ¾ä»£ç ä¿¡æ¯ N)rk   rl   rm   r   r   r   r   r   rŽ   Ë   s    rŽ   Ú__main__ig+  )r   r   Úyamlr\   r(   r   r   r   r5   r2   r?   r"   r   ro   rq   rr   rs   rt   ru   rv   r   rŽ   rk   ÚprintÚgetcwdr   r   r   r   Ú<module>   s,     Q
&ÿ