HEX
Server: Apache
System: Linux server2.voipitup.com.au 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: posscale (1027)
PHP: 8.2.29
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/__pycache__/fsutils.cpython-310.pyc
o

�N�g;
�@sndZddlZddlZddlZddlZddlmZe�e	�Z
ddd�Zddd�Zddd	�Z
dd
d�Zdd
�ZdS)z
Run-time utilities
�N)�CommandExecutionErrorcCs^|�dd�r+|dr-|rt�d|�t�d|�d��t�d|�dd��t|d��dSdS)	zC
    Crash to the log if command execution was not successful.
    �retcoder�stderrz
Command: '%s'zReturn code: %szError output:
%szN/AN)�get�log�debugr)�out�cmd�r
�F/opt/saltstack/salt/lib/python3.10/site-packages/salt/utils/fsutils.py�_verify_runs�rcCs�i}tjj�d��K}|��D]=}tjj�|�}|���d�\}}}}}}	|r+||kr+q|�	|�dur6g||<||�d�d�}
|sD||
d<||�
|
�qWd�|S1sWwY|S)z#
    List mounted filesystems.
    z/proc/mounts� N�,)Zmount_point�options�type)�salt�utils�filesZfopen�	readlinesZstringutilsZ
to_unicode�strip�splitr�append)�fs_type�mountsZfhr�line�deviceZmntpntZfstyperZfs_freqZ	fs_passno�datar
r
r�_get_mounts!s(��
��rcCs�dd�}i}||�d��D]<}i}||���d��D]}|�dd�\}}|||��<q|r5|�dd�|ks7|sId|vrB|rB|�d�|||�d	�<q
|rbt|�}	|	D]}
|�|
�ra|	|
||
d
<qR|S)z
    Parse blkid output.
    cS�dd�|D�S)NcS�g|]}|��r|�qSr
�r��.0�elr
r
r�
<listcomp>?�z._blkid_output.<locals>.flt.<locals>.<listcomp>r
�rr
r
r�flt>�z_blkid_output.<locals>.fltz

�
�=�r�Zdevnamer)rr�lowerr�popr)rrr'r�dev_meta�dev�items�key�valrrr
r
r�
_blkid_output9s&
�
�r4c
Cs�dd�}t�}|t�d����tj��D]5}|��}|sq|�d�}|�d�dd�}t�||<|D]}dd	�|�d
�D�\}}||||��<q2q|rbt	|�}	|	D]}|�
|�ra|	|||d<qR|S)zz
    Return available media devices.

    :param fs_type: Filter only devices that are formatted by that file system.
    cSr)NcSrr
r r!r
r
rr$]r%z'_blkid.<locals>.flt.<locals>.<listcomp>r
r&r
r
rr'\r(z_blkid.<locals>.fltz
blkid -o fullr
rN���css�|]	}|�dd�VqdS)�"r,N)�replace)r"Zelmr
r
r�	<genexpr>js�z_blkid.<locals>.<genexpr>r*r)�dict�os�popen�readr�lineseprr.r-rr)
rr'rr/rZdev_nameZk_setZks_keyZks_valuerr
r
r�_blkidUs,�

�
�r>cCs:tdd|���}t|�t�d|d�ddd�dkS)	z3
    Return True if path is a physical device.
    zcmd.run_allzfile -i z\s+�stdoutr+Nr5zinode/blockdevice)Z__salt__r�rer)�pathrr
r
r�
_is_devicevs rB)N)�__doc__�loggingr:r@Zsalt.utils.filesrZsalt.exceptionsr�	getLogger�__name__rrrr4r>rBr
r
r
r�<module>s




!