3
í«„^t ã @ sD d dl Z d dlZddlmZmZ ddlmZ G dd„ deeeƒZdS )é Né )Ú MatchNameÚMatchPermission)ÚPolicyQueryc s( e Zd ZdZ‡ fdd„Zdd„ Z‡ ZS )Ú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|Ž tjtƒ| _d S )N)Úsuperr Ú__init__ÚloggingZ getLoggerÚ__name__Úlog)ÚselfÚpolicyÚkwargs)Ú __class__© ú#/usr/lib64/python3.6/commonquery.pyr / s zCommonQuery.__init__c c s` | j jdj| ƒƒ | j| j ƒ | j| j ƒ x0| jjƒ D ]"}| j|ƒsFq6| j|ƒsRq6|V q6W dS )z,Generator which yields all matching commons.z)Generating common results from {0.policy}N) r ÚinfoÚformatZ_match_name_debugZ_match_perms_debugr
ZcommonsZ_match_nameZ_match_perms)r Zcomr r r Úresults3 s
zCommonQuery.results)r
Ú
__module__Ú__qualname__Ú__doc__r r Ú
__classcell__r r )r r r s r )r ÚreZmixinsr r Zqueryr r r r r r Ú