509318396
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
í«„^m  ã               @   sf   d dl Z d dlZddlmZmZ ddlmZ ddlmZ ddl	m
Z
 ddlmZ G dd	„ d	ee
ƒZdS )
é    Né   )ÚCriteriaDescriptorÚCriteriaSetDescriptor)ÚMatchContext)ÚFSUseRuletype)ÚPolicyQuery)Úmatch_regexc                   s>   e Zd ZdZeed�ZedƒZdZ	‡ fdd„Z
dd„ Z‡  ZS )	Ú
FSUseQueryar  
    Query fs_use_* statements.

    Parameter:
    policy          The policy to query.

    Keyword Parameters/Class attributes:
    ruletype        The rule type(s) to match.
    fs              The criteria to match the file system type.
    fs_regex        If true, regular expression matching
                    will be used on the file system type.
    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.
    )Ú
enum_classÚfs_regexFc                s$   t t| ƒj|f|Ž tjtƒ| _d S )N)Úsuperr	   Ú__init__ÚloggingZ	getLoggerÚ__name__Úlog)ÚselfÚpolicyÚkwargs)Ú	__class__© ú"/usr/lib64/python3.6/fsusequery.pyr   B   s    zFSUseQuery.__init__c             c   sž   | j jdj| ƒƒ | j jdj| ƒƒ | j jdj| ƒƒ | j| j ƒ xV| jjƒ D ]H}| jrf|j| jkrfqN| jr‚t	|j| j| j
ƒ r‚qN| j|jƒs�qN|V  qNW dS )z8Generator which yields all matching fs_use_* statements.z+Generating fs_use_* results from {0.policy}zRuletypes: {0.ruletype}z!FS: {0.fs!r}, regex: {0.fs_regex}N)r   ÚinfoÚformatÚdebugZ_match_context_debugr   Zfs_usesÚruletypeÚfsr   r   Z_match_contextÚcontext)r   Zfsur   r   r   ÚresultsF   s    
zFSUseQuery.results)r   Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r   r   Ú__classcell__r   r   )r   r   r	      s   
r	   )r   ÚreZdescriptorsr   r   Zmixinsr   Z	policyrepr   Zqueryr   Úutilr   r	   r   r   r   r   Ú<module>   s   