o c @sTddlmZddlZddlmZddlmZmZddZddZ Gd d d e Z dS) )divisionN)succeed)get_mount_infoget_filesystem_for_pathcCs0|dkr d|dS|dkrd|dSd|S)Niz%.2fTBiz%.2fGBz%dMB) megabytesrr8/usr/lib/python3/dist-packages/landscape/sysinfo/disk.pyformat_megabytes s   r cCs,|d}||d}d||dt|fS)N total-space free-spacez %0.1f%% of %sd)r )infototalusedrrrusages rc@s,eZdZdejfddZddZddZdS) Diskz /proc/mountscCs||_||_dSN) _mounts_file_statvfs)self mounts_filestatvfsrrr__init__s z Disk.__init__cCs ||_dSr)_sysinfo)rsysinforrrregisters z Disk.registerc CsPtd|j|j}|dur=|d}|dkr&td|j|j}|dur&|d}|}|dkr-d}nt|}|jd|d|n|jddt}t}tt|j|j}|j d d d |D]F}|d}|d|v} |d |v} | |d| |d | s| rq]|dkrq]||d |d} | dkr|j d|dt|fq]t dS)Nz/homer r/unknownz Usage of mount-pointzUsage of /homecSs t|dS)Nr)len)irrr9s zDisk.run..)keydevicer r Uz%s is using %s) rrrrr add_headersetlistrsortaddadd_noter) r main_inforroot_main_info main_usage seen_mounts seen_devicesinfosr mount_seen device_seenrrrrrun"sP   zDisk.runN)__name__ __module__ __qualname__osrrrr3rrrrrs r) __future__rr7twisted.internet.deferrlandscape.lib.diskrrr robjectrrrrrs