a
qéqeM ã @ s\ d dl Z d dlZd dlmZ ddlmZmZ ddlmZ ddl m
Z
G dd„ deee
ƒZdS ) é N)ÚIterableé )Ú MatchNameÚMatchPermission)ÚCommon)ÚPolicyQueryc s8 e Zd ZdZddœ‡ fdd„Zee dœdd„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.
N)Úreturnc s( t t| ƒj|fi |¤Ž t t¡| _d S )N)Úsuperr Ú__init__ÚloggingZ getLoggerÚ__name__Úlog)ÚselfÚpolicyÚkwargs©Ú __class__© ú9/usr/lib64/python3.9/site-packages/setools/commonquery.pyr # s zCommonQuery.__init__c c s\ | j d | ¡¡ | | j ¡ | | j ¡ | j ¡ D ]"}| |¡sDq4| |¡sPq4|V q4dS )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 Úresults' s
zCommonQuery.results) r
Ú
__module__Ú__qualname__Ú__doc__r r r r Ú
__classcell__r r r r r s r )r ÚreÚtypingr Zmixinsr r Z policyrepr Úqueryr r r r r r Ú