o
    HëiÈ  ã                   @   sx   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	dd„ Z
dd„ Zdd„ Zdd„ Zdd„ ZdS )u   
ä¿®æ”¹æ–‡ä»¶å¤¹å
é    N)Úoc_util)Úoc_yamlc                  C   s   t j} t| ƒ t| ƒ d S )N)r   Úpath_mix_projectÚrename_folderÚreplace_xcodeproj_file)Úpath© r   úA/data/storage/obfuscation/tool/ObjectiveC/oc_function/c_folder.pyÚmodify_project_folder_name   s   r
   c           	      C   sØ   t j| ddD ]b\}}}dd„ |D ƒ|d d …< |D ]O}|ttjƒv r#qd|v r.| d¡d n|}|ttjƒv r8q|ttjƒv r@q|tjkrFqt j	 
||¡}t|ƒ}| ||¡}t j	 
||¡}t  ||¡ t|ƒ qqd S )NT©Útopdownc                 S   s   g | ]}t |ƒr|‘qS r   )ÚisTrue©Ú.0Údr   r   r	   Ú
<listcomp>   s    z!rename_folder.<locals>.<listcomp>Ú.r   )ÚosÚwalkÚlistr   Úlist_filter_projectÚsplitÚlist_folder_not_changer   Úname_current_projectr   ÚjoinÚrandom_one_new_folder_nameÚreplaceÚrenamer   )	r   ÚrootÚdirsÚ_ÚnameÚname_without_extÚfolder_pathÚnew_nameÚnew_pathr   r   r	   r      s(   

ïþr   c           
      C   sF  t ƒ }tj| ddD ]–\}}}dd„ |D ƒ|d d …< |D ]ƒ}|dkrŸtj ||¡}tttjj	ƒƒD ]m}tjj	| }tjj
| }	| d||	f ¡ t|d| d d|	 d ƒ t|d| d d|	 d ƒ t|d	| d	 d	|	 d	 ƒ t|d	| d
 d	|	 d
 ƒ t|d
| d
 d
|	 d
 ƒ t|tjd	 | tjd	 |	 ƒ q1qq
d S )NTr   c                 S   s   g | ]}|t jd  kr|‘qS )ú
.xcodeproj)r   r   r   r   r   r	   r   $   s    z*replace_xcodeproj_file.<locals>.<listcomp>zproject.pbxproju%   åŽŸæ–‡ä»¶å¤¹å: %s è¢«ä¿®æ”¹ä¸º: %s
ú ú;ú/ú")Úget_log_file_managerr   r   r   r   ÚrangeÚlenr   Úclass_folderÚold_dir_listÚnew_dir_listÚ
writelinesÚreplace_contentr   )
r   Úlog_managerr   r   Úfilesr!   Ú	file_pathÚindexÚold_textÚnew_textr   r   r	   r   !   s&   "€ôþr   c                 C   sx   t | dƒ}| ¡ }| ||¡}W d   ƒ n1 sw   Y  t | dƒ}| |¡ W d   ƒ d S 1 s5w   Y  d S )NÚrÚw)ÚopenÚreadr   Úwrite)r   r7   r8   ÚfÚ	file_datar   r   r	   r2   2   s   þ"ÿr2   c                 C   sP   g d¢}t j | ¡}|d |vrdnd}| tjd k}| ttjƒv}|o'|o'|S )N)z
.frameworkz.lprojz.bundlez.Bundlez	.xcassetsz.appiconsetz.xcworkspacer&   é   TFr&   )r   r   Úsplitextr   r   r   r   Úlist_folder_ignore_all)r   Úmy_listÚd_listÚa1Úa2Úa3r   r   r	   r   8   s   r   c                   C   s   t tjd dƒS )Nu   /æ–‡ä»¶å¤¹æ··æ·†æ—¥å¿—.txtr:   )r;   r   Úpath_mixr   r   r   r	   r+   ?   s   r+   c                 C   s°   | t jjv rt jj | ¡}t jj| S t j}d}ttjƒD ]}|  	|¡r(|} nqt
| ƒt
|ƒ t
t jƒ }|t|ƒ | }|t jjv rHt| ƒS t jj |¡ t jj | ¡ |S )u    éšæœºä¸€ä¸ªæ–‡ä»¶å¤¹å Ú )r   r.   r/   r6   r0   Úprefix_folderr   r   Úlist_keep_word_for_folderÚendswithr-   Úrandom_namer   Úappend)Úold_namer6   r$   Ú	keep_wordÚwordÚcountr   r   r	   r   A   s"   
þr   c                 C   sÖ  | dkrdg}t  |¡}t|ƒS | dkr dg}t  |¡}t|ƒS | dkr0dg}t  |¡}t|ƒS | dkrAdd	g}t  |¡}t|ƒS | d
krRg d¢}t  |¡}t|ƒS | dkrcg d¢}t  |¡}t|ƒS | dkrtg d¢}t  |¡}t|ƒS | dkr…g d¢}t  |¡}t|ƒS | dkr–g d¢}t  |¡}t|ƒS | dkr§g d¢}t  |¡}t|ƒS | dkr¸g d¢}t  |¡}t|ƒS | dkrÉg d¢}t  |¡}t|ƒS | dkré| dk réd}g d¢}tdƒD ]	}|t  |¡ }qÛt|ƒS | dkr| dk rd}g d¢}tdƒD ]	}|t  |¡ }qýt|ƒS | dkr.| dk r.d}g d¢}td
ƒD ]
}|t  |¡ }qt|ƒS | dkrQ| d k rQd}g d¢}tdƒD ]
}|t  |¡ }qBt|ƒS d}g d¢}tddƒD ]
}|t  |¡ }q\t|ƒS )!Né   Ú3é   Ú4é   Ú5é   Ú6Ú33é   )Ú7Ú34Ú43é   )Ú8Ú53Ú35Ú44é	   )Ú9Ú63Ú36Ú54Ú45é
   )Ú73Ú37Ú46Ú64Ú55Ú433Ú343Ú334é   )Ú83Ú38Ú47Ú74Ú56Ú65Ú335Ú353Ú533Ú443Ú434Ú344é   )Ú93Ú39Ú84Ú48Ú75Ú57Ú66Ú336Ú363Ú633Ú345Ú354Ú543Ú534Ú435Ú453é   )Ú94Ú49Ú85Ú58Ú67Ú76Ú445Ú454Ú544Ú355Ú535Ú553Ú337Ú373Ú3433Ú4333Ú3343Ú3334é   )Ú95Ú59Ú68Ú86Ú77Ú455Ú545Ú554Ú446Ú464Ú644Ú3344Ú3434Ú3443Ú4433Ú4343Ú4334Ú3335Ú3353Ú3533Ú5333é   é   rI   )rT   rV   rX   rZ   r]   ra   rf   é   é(   é2   )ÚrandomÚchoiceÚget_unique_stringr,   )ÚnumÚnum_listÚ
num_stringÚaListr    r   r   r	   rM   S   sš   











rM   c                 C   sÆ   d}| D ]\}|dkr|t  ¡  ¡  }q|dkr |t  ¡  ¡  }q|dkr-|t  ¡  ¡  }q|dkr:|t  ¡  ¡  }q|dkrG|t  ¡  ¡  }q|dkrT|t  ¡  ¡  }q|dkr`|t  ¡  ¡  }q|S )	NrI   rT   rV   rX   rZ   r]   ra   rf   )	r   ÚthreeÚ
capitalizeÚfourÚfiveÚsixÚsevenÚeightÚnine)rÅ   r!   rÃ   r   r   r	   rÂ   ¥   s$   €rÂ   )Ú__doc__r   rÀ   Ú
ObjectiveCr   r   r
   r   r   r2   r   r+   r   rM   rÂ   r   r   r   r	   Ú<module>   s    R