File: //usr/lib/python3/dist-packages/landscape/sysinfo/__pycache__/disk.cpython-38.pyc
U
y)�]
� @ sT d dl mZ d dlZd dlmZ d dlmZmZ dd� Zdd� Z G d d
� d
e
�ZdS )� )�divisionN)�succeed)�get_mount_info�get_filesystem_for_pathc C s4 | dkrd| d S | dkr(d| d S d| S d S )Ni z%.2fTBi z%.2fGBz%dMB� )Z megabytesr r �8/usr/lib/python3/dist-packages/landscape/sysinfo/disk.py�format_megabytes
s
r c C s, | d }|| d }d|| d t |�f S )N�total-space�
free-spacez
%0.1f%% of %s�d )r )�info�total�usedr r r �usage s r c @ s, e Zd Zdejfdd�Zdd� Zdd� ZdS ) �Diskz/proc/mountsc C s || _ || _d S �N)�_mounts_file�_statvfs)�selfZmounts_file�statvfsr r r �__init__ s z
Disk.__init__c C s
|| _ d S r )�_sysinfo)r �sysinfor r r �register s z
Disk.registerc C sT t d| j| j�}|d k rz|d }|dkrLt d| j| j�}|d k rL|d }|}|dkrZd}nt|�}| j�d|d |� n| j�dd� t� }t� }tt| j| j��}|j d d
� d� |D ]�}|d }|d |k} |d |k}
|�
|d � |�
|d � | s�|
�rq�|dk�rq�||d
| d }|dkr�| j�d|d t|�f � q�td �S )Nz/homer r �/�unknownz Usage of �mount-pointzUsage of /homec S s t | d �S )Nr )�len)�ir r r �<lambda>9 � zDisk.run.<locals>.<lambda>)�keyZdevicer
r �U z%s is using %s)
r r r r r �
add_header�set�listr �sort�add�add_noter )r Z main_infor
Zroot_main_infoZ
main_usageZseen_mountsZseen_devices�infosr Z
mount_seenZdevice_seenr r r r �run"