File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/__pycache__/cryptdev.cpython-310.pyc
o
�N�g8( � @ s� d Z ddlZddlZddlZddlZddlZddlZddlm Z e�
e�ZdZ
dd� ZG dd� d�Zd d
� Zddd
�Zddd�Z ddd�Zdd� Zdd� ZdS )z^
Salt module to manage Unix cryptsetup jobs and the crypttab file
.. versionadded:: 2018.3.0
� N)�CommandExecutionErrorZcryptdevc C s t jj�� rdS dS )z)
Only load on POSIX-like systems
)Fz=The cryptdev module cannot be loaded: not a POSIX-like systemT)�salt�utils�platformZ
is_windows� r r �I/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/cryptdev.py�__virtual__ s r c @ s� e Zd ZdZG dd� de�ZdZdZeefdd��Z edd � �Z
ed
d� �Zdd
� Zdd� Z
dd� Zdd� Zedd� �Zdd� ZdS )�_crypttab_entryz�
Utility class for manipulating crypttab entries. Primarily we're parsing,
formatting, and comparing lines. Parsing emits dicts expected from
crypttab() or raises a ValueError.
c @ s e Zd ZdZdS )z_crypttab_entry.ParseErrorz;Error raised when a line isn't parsible as a crypttab entryN)�__name__�
__module__�__qualname__�__doc__r r r r �
ParseError+ s r ��name�device�password�optionsz4{name: <12} {device: <44} {password: <22} {options}
c C sp t |�dkr
td|� ���|�d�r| �d��|�� }t |�dkr&|dg7 }t |�dkr1| �d��tt||��S )N� zInvalid key array: �#zComment!� � zInvalid Entry!)�len�
ValueError�
startswithr �split�dict�zip)�cls�line�keys�compsr r r �dict_from_line1 s
z_crypttab_entry.dict_from_linec O s | di | j |i |����S �Nr )r"