Mini Shell
3
{)c� � @ sF d dl Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ dd lm Z dd
lm
Z
G dd� de
je j�Z
G d
d� de
�ZG dd� de
�ZG dd� de
�ZG dd� de
�ZG dd� de�ZG dd� de
�ZG dd� de
�ZG dd� de
�ZG dd� de
�ZG dd � d e
�ZG d!d"� d"e�ZG d#d$� d$e
�ZG d%d&� d&e�ZdS )'� N� )�FSError)�flags)�util)�fslib� )�availability)�fstask)�taskc sv e Zd ZdZdZdgZdZejZ e
dd� �Ze
dd� �Ze
� fd d
��Z
e
dd� �Zd
d� Zdd� Zddd�Z� ZS )�FSMountz?An abstract class that represents filesystem mounting actions. zmount a filesystemZdefaultsNc sl t jjt jjdt j� d ��}t jj|�rhd| j � x2t j|�D ]$\}}}t� fdd�|D ��r@dS q@W dS )z? Is there a filesystem driver in the kernel modules directory. z/lib/modulesr z%s.koc 3 s | ]}|j � �V qd S )N)�
startswith)�.0�x)�modname� �/usr/lib/python3.6/fsmount.py� <genexpr>6 s z&FSMount._has_driver.<locals>.<genexpr>TF) �os�path�realpath�join�uname�isdir�
mount_type�walk�any)�selfZmodpathZ_rootZ_dirs�filesr )r r �_has_driver/ s
zFSMount._has_driverc C s( | j tjkp&tjd| j f tj�p&| jS )Nz/sbin/mount.%s)r r Zkernel_filesystemsr �access�X_OKr )r r r r �
_can_mount: s zFSMount._can_mountc s&