Sindbad~EG File Manager
3
�^� � @ sV d dl Z d dlZddlmZ ddlmZ ddlmZ ddlm Z G dd� dee�Z
dS ) � N� )�CriteriaDescriptor)�MatchContext)�PolicyQuery)�match_regexc sD e Zd ZdZdZed�ZdZed�ZdZ � fdd�Z
dd � Z� ZS )
�
GenfsconQuerya�
Query genfscon statements.
Parameter:
policy The policy to query.
Keyword Parameters/Class attributes:
fs The criteria to match the file system type.
fs_regex If true, regular expression matching
will be used on the file system type.
path The criteria to match the path.
path_regex If true, regular expression matching
will be used on the path.
user The criteria to match the context's user.
user_regex If true, regular expression matching
will be used on the user.
role The criteria to match the context's role.
role_regex If true, regular expression matching
will be used on the role.
type_ The criteria to match the context's type.
type_regex If true, regular expression matching
will be used on the type.
range_ The criteria to match the context's range.
range_subset If true, the criteria will match if it is a subset
of the context's range.
range_overlap If true, the criteria will match if it overlaps
any of the context's range.
range_superset If true, the criteria will match if it is a superset
of the context's range.
range_proper If true, use proper superset/subset operations.
No effect if not using set operations.
N�fs_regexF�
path_regexc s$ t t| �j|f|� tjt�| _d S )N)�superr �__init__�loggingZ getLogger�__name__�log)�self�policy�kwargs)� __class__� �%/usr/lib64/python3.6/genfsconquery.pyr E s zGenfsconQuery.__init__c c s� | j jdj| �� | j jdj| �� | j jdj| �� | j jdj| �� | j| j � xt| jj� D ]f}| jr�t|j| j| j � r�q`| j
r�t|j
| j
| j� r�q`| jr�| j|jk r�q`| j
|j�s�q`|V q`W dS )z.Generator which yields all matching genfscons.z+Generating genfscon results from {0.policy}z!FS: {0.fs!r}, regex: {0.fs_regex}z'Path: {0.path!r}, regex: {0.path_regex}zFiletype: {0.filetype!r}N)r �info�format�debugZ_match_context_debugr Z genfscons�fsr r �pathr �filetypeZ_match_context�context)r Zgenfsr r r �resultsI s*
zGenfsconQuery.results)
r
�
__module__�__qualname__�__doc__r r r r r r r r �
__classcell__r r )r r r s !r )r �reZdescriptorsr Zmixinsr Zqueryr �utilr r r r r r �<module> s
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists