Mini Shell

Direktori : /lib/python3.6/site-packages/blivet/tasks/__pycache__/
Upload File :
Current File : //lib/python3.6/site-packages/blivet/tasks/__pycache__/lukstasks.cpython-36.pyc

3

{)c
�@s�ddlZejdd�ddlmZddlmZddlmZddl	m
Z
dd	lmZd
dlm
Z
d
dlmZd
d
lmZGdd�dej�ZGdd�dejej�ZdS)�N�BlockDevz2.0)r�)�util)�crypto)�	LUKSError)�LINUX_SECTOR_SIZE�)�availability)�task)�dfresizec@s*eZdZdZejZdZdd�Zdd�Z	dS)�LUKSSizez5 Obtain information about the size of a LUKS format. zsize of a luks devicecCs
||_dS)zd Initializer.

            :param :class:`~.formats.luks.LUKS` a_luks: a LUKS format object
        N)�luks)�self�a_luks�r�/usr/lib/python3.6/lukstasks.py�__init__-szLUKSSize.__init__cCsby,tjj|jj�}ttjd|d�p&d�}Wn,tjk
rX}zt	|��WYdd}~XnX|t
S)z� Returns the size of the luks format.

            :returns: the size of the luks format
            :rtype: :class:`~.size.Size`
            :raises :class:`~.errors.LUKSError`: if size cannot be obtained
        z
/sys/block/%s�size�0N)�blockdevZdmZnode_from_namer
�map_name�intrZget_sysfs_attrZDMErrorrr)rZdm_devZblocks�errr�do_task4szLUKSSize.do_taskN)
�__name__�
__module__�__qualname__�__doc__r	ZBLOCKDEV_DM_PLUGIN�ext�descriptionrrrrrrr&s
rc@s0eZdZdZdZejZej	Z
dd�Zdd�ZdS)�
LUKSResizez Handle resize of LUKS device. zresize luks devicecCs
||_dS)zd Initializer.

            :param :class:`~.formats.luks.LUKS` a_luks: a LUKS format object
        N)r
)rrrrrrOszLUKSResize.__init__cCs�y\|jjdkr<tjj|jj|jjj|j�|jj	|jj
d�ntjj|jj|jjj|j��Wn,tjk
r�}zt|��WYdd}~XnXdS)z Resizes the LUKS format. Zluks2)Z
passphraseZkey_fileN)
r
Zluks_versionrrZluks_resizerZtarget_sizeZ
convert_to�unitZ_LUKS__passphraseZ	_key_fileZCryptoErrorr)rrrrrrVs"zLUKSResize.do_taskN)
rrrrrr	ZBLOCKDEV_CRYPTO_PLUGINrrZSECTOR_SIZEr!rrrrrrr Esr )ZgiZrequire_versionZ
gi.repositoryrr�rZ
devicelibsr�errorsrZdevices.librr	r
rZBasicApplicationrZDFResizeTaskr rrrr�<module>s