3
^ @ sv d dl Z d dlZd dlmZ ddlmZmZ ddlmZ ddl m
Z
ddlmZ ddl
mZmZ G d d
d
e
eZdS ) N)suppress )CriteriaDescriptorCriteriaSetDescriptor)NoCommon) MatchName)PolicyQuery)match_regexmatch_regex_or_setc sJ e Zd ZdZeddZdZedZdZ dZ
dZ fddZd d
Z
ZS )
ObjClassQueryaO
Query object classes.
Parameter:
policy The policy to query.
Keyword Parameters/Class attributes:
name The name of the object set to match.
name_regex If true, regular expression matching will
be used for matching the name.
common The name of the inherited common to match.
common_regex If true, regular expression matching will
be used for matching the common 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.
comparison will not be used.
perms_indirect If false, permissions inherited from a common
permission set not will be evaluated. Default
is true.
common_regexZ
lookup_commonFperms_regexTc s$ t t| j|f| tjt| _d S )N)superr __init__loggingZ getLogger__name__log)selfpolicykwargs) __class__ %/usr/lib64/python3.6/objclassquery.pyr B s zObjClassQuery.__init__c c s | j jdj| | j| j | j jdj| | j jdj| x| jj D ]}| j|s^qN| jryt |j| j| j
szwNW n tk
r wNY nX | jr|j}| j
rtt ||jjO }W dQ R X t|| j| j| jsqN|V qNW dS )z3Generator which yields all matching object classes.z/Generating object class results from {0.policy}z-Common: {0.common!r}, regex: {0.common_regex}z[Perms: {0.perms}, regex: {0.perms_regex}, eq: {0.perms_equal}, indirect: {0.perms_indirect}N)r infoformatZ_match_name_debugdebugr classesZ_match_namecommonr r r permsperms_indirectr r
perms_equalr
)r Zclass_r r r r resultsF s:
zObjClassQuery.results)r
__module____qualname____doc__r r r r r r r r
r r!
__classcell__r r )r r r s
r )r re
contextlibr Zdescriptorsr r Z exceptionr Zmixinsr Zqueryr utilr r
r r r r r