Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib64/python3.5/Tools/scripts/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/Tools/scripts/__pycache__/byext.cpython-35.opt-1.pyc



��YfW�@sTdZddlZddlZGdd�d�Zdd�ZedkrPe�dS)z"Show file statistics by extension.�Nc@sXeZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
S)�StatscCs
i|_dS)N)�stats)�self�r�8/opt/alt/python35/lib64/python3.5/Tools/scripts/byext.py�__init__szStats.__init__cCs�xy|D]q}tjj|�r/|j|�qtjj|�rQ|j|�qtjjd|�|j	ddd�qWdS)NzCan't find %s
z<???>�unknown�)
�os�path�isdir�statdir�isfile�statfile�sys�stderr�write�addstats)r�args�argrrr�statargss
zStats.statargscCs*|jddd�ytj|�}WnVtk
r~}z6tjjd||f�|jddd�dSWYdd}~XnXx�t|�D]�}|jd�r�q�|j	d�r�q�tj
j||�}tj
j|�r�|jdd	d�q�tj
j
|�r|j|�q�|j|�q�WdS)
Nz<dir>�dirsr	zCan't list %s: %s
Z
unlistablez.#�~z<lnk>Zlinks)rr
�listdir�OSErrorrrr�sorted�
startswith�endswithr�join�islinkrr
r)r�dir�names�err�nameZfullrrrr
s$z
Stats.statdirc
Cs�tjj|�\}}tjj|�\}}||krBd}tjj|�}|s`d}|j|dd�y)t|d��}|j�}WdQRXWnVtk
r�}z6t	j
jd||f�|j|dd�dSWYdd}~XnX|j|dt|��d	|kr1|j|d
d�dS|sJ|j|dd�t
|d�j�}|j|d
t|��~|j�}	|j|dt|	��dS)N�z<none>�filesr	�rbzCan't open %s: %s
Z
unopenable�bytessZbinary�emptyzlatin-1�lines�words)r
r�splitext�split�normcaser�open�read�IOErrorrrr�len�str�
splitlines)
r�filename�head�ext�base�f�datar"r)r*rrrr-s4zStats.statfilecCs3|jj|i�}|j|d�|||<dS)Nr)r�
setdefault�get)rr6�key�n�drrrrJszStats.addstatscs	t|j�}i}x"|D]}|j|j|�qWt|��i�tdd�|D���d<d}i|jd<x��D]�}d}t|t|��}xb|D]Z}|j|j|�}|dkr�d}	ntd|�}	||7}t||	�}q�Wt|tt|���}|�|<||jd|<q�W|jd�x|D]}||j|d<qWW�jdd���fdd	�}
|
�x]|D]U}xE�D]=}|j|j|d
�}t	d�||fdd
�q�Wt	�q�W|
�dS)NcSsg|]}t|��qSr)r1)�.0r6rrr�
<listcomp>Vs	z Stats.report.<locals>.<listcomp>r6�ZTOTALrz%dcs:x,�D]$}td�||fdd�qWt�dS)Nz%*s�end� )�print)�col)�cols�colwidthrr�printheaderls
"z!Stats.report.<locals>.printheaderr$z%*srBrC)
rr�update�maxr1r;r2�append�insertrD)rZexts�columnsr6ZminwidthrEZtotalZcw�value�wrHr)rFrGr�reportNsD



	





"zStats.reportN)	�__name__�
__module__�__qualname__rrr
rrrPrrrrr	s
rcCsItjdd�}|s%tjg}t�}|j|�|j�dS)Nr	)r�argvr
�curdirrrrP)r�srrr�mainzs	
rW�__main__)�__doc__r
rrrWrQrrrr�<module>sq