o
    Hiw
                     @   sH   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S )u   
删除注释 
删除打印
    N)oc_util)oc_yamlc              
      s  g d t jtjddD ]w\}}}dd |D |dd<  fdd|D |dd< dd |D |dd< |D ]L}t j||}t|d	}| }| d
krQt|}| dkrYt	|}W d   n1 scw   Y  t|d}|
| W d   n1 s}w   Y  q6qdS )u7    
    type=1 删除注释

    type=2 删除打印
    )z.hz.mz.mmz.pchz.swiftT)topdownc                 S   s   g | ]}| d dkr|qS )z
.frameworkF)endswith).0d r   K/data/storage/obfuscation/tool/ObjectiveC/oc_function/e_print_annotation.py
<listcomp>   s    z.delete_print_or_annotation.<locals>.<listcomp>Nc                    s$   g | ]}t j|d   v r|qS )   )ospathsplitextr   fsupport_typer   r	   r
      s   $ c                 S   s   g | ]	}|t jvr|qS r   )r   #list_not_delete_print_or_annotationr   r   r   r	   r
      s    rr      w)r   walkr   path_mix_projectr   joinopenreadsearch_annotation_and_deletesearch_print_and_deletewrite)typerootdirsfilesname	file_pathr   file_contentr   r   r	   delete_print_or_annotation	   s*   r&   c                 C   s8   t d}|| }|D ]}d|}| |d} q| S )u/    找出打印并返回删除后的文件内容 z(NSLog\()(.*?)(;)(\n) 
)recompilefindallr   replace)r%   p1a_listastr_ar   r   r	   r      s   


r   c                 C   s8  t dt j}|| }|D ]}d| d }| |d} qt dt j}|| }|D ]}d| d }|dkr8q+| |d} q+t d}|| }|D ]}	d	|	 d }	| |	d} qKt d
t j}
|
| }|D ]}d| d }| |d} qht dt j}
|
| }|D ]}d| d }| |d} q| dd} | S )u/    找出注释并返回删除后的文件内容 z
///(.*?)\nz///r(   z/\*(.*?)\*/z/*z*/z/*,*/z#pragma mark(.*?)\nz#pragma markz
// (.*?)\nz// z
//!(.*?)\nz//!z//
)r)   r*   Sr+   r,   )r%   r-   aListr/   p3cListcp4dListr   p2bListbr   r   r	   r   &   s:   





r   )	__doc__r)   r   
ObjectiveCr   r   r&   r   r   r   r   r   r	   <module>   s    