Your IP : 216.73.216.213


Current Path : /opt/alt/python34/lib64/python3.4/Tools/scripts/__pycache__/
Upload File :
Current File : //opt/alt/python34/lib64/python3.4/Tools/scripts/__pycache__/byext.cpython-34.pyc

�
e fW�@sWdZddlZddlZGdd�d�Zdd�ZedkrSe�ndS)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/python34/lib64/python3.4/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.statargscCs0|jddd�ytj|�}WnVtk
r~}z6tjjd||f�|jddd�dSWYdd}~XnXx�t|�D]�}|jd�r�q�n|j	d�r�q�ntj
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�name�fullrrrr
s$z
Stats.statdirc
Cs�tjj|�\}}tjj|�\}}||krEd}ntjj|�}|sfd}n|j|dd�y(t|d��}|j�}WdQXWnVtk
r�}z6t	j
jd||f�|j|dd�dSWYdd}~XnX|j|dt|��d	|kr6|j|d
d�dS|sR|j|dd�nt
|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)rr7�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)r2)�.0r7rrr�
<listcomp>Vs	z Stats.report.<locals>.<listcomp>r7�ZTOTALrz%dcs:x,�D]$}td�||fdd�qWt�dS)Nz%*s�end� )�print)�col)�cols�colwidthrr�printheaderls
"z!Stats.report.<locals>.printheaderr%z%*srCrD)
rr�update�maxr2r<r3�append�insertrE)rZexts�columnsr7ZminwidthrFZtotalZcw�value�wrIr)rGrHr�reportNsD



	





"zStats.reportN)	�__name__�
__module__�__qualname__rrr
rrrQrrrrr	s
rcCsLtjdd�}|s(tjg}nt�}|j|�|j�dS)Nr	)r�argvr
�curdirrrrQ)r�srrr�mainzs	
rX�__main__)�__doc__r
rrrXrRrrrr�<module>sq