
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
3
^t                 @   sD   d dl Z d dlZddlmZmZ ddlmZ G dd deeeZdS )    N   )	MatchNameMatchPermission)PolicyQueryc                   s(   e Zd ZdZ fddZdd Z  ZS )CommonQuerya  
    Query common permission sets.

    Parameter:
    policy       The policy to query.

    Keyword Parameters/Class attributes:
    name         The name of the common to match.
    name_regex   If true, regular expression matching will
                 be used for matching the name.
    perms        The permissions to match.
    perms_equal  If true, only commons with permission sets
                 that are equal to the criteria will
                 match.  Otherwise, any intersection
                 will match.
    perms_regex  If true, regular expression matching will be used
                 on the permission names instead of set logic.
    c                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/commonquery.pyr   /   s    zCommonQuery.__init__c             c   s`   | j jdj|  | j| j  | j| j  x0| jj D ]"}| j|sFq6| j|sRq6|V  q6W dS )z,Generator which yields all matching commons.z)Generating common results from {0.policy}N)	r   infoformatZ_match_name_debugZ_match_perms_debugr   ZcommonsZ_match_nameZ_match_perms)r   Zcomr   r   r   results3   s    

zCommonQuery.results)r
   
__module____qualname____doc__r   r   __classcell__r   r   )r   r   r      s   r   )r	   reZmixinsr   r   Zqueryr   r   r   r   r   r   <module>   s   