3
^_ @ sb d dl Z ddlmZmZ ddlmZ ddlmZ ddlm Z ddl
mZmZ G dd d ee Z
dS )
N )CriteriaDescriptorCriteriaSetDescriptor)
MatchObjClass)MLSRuletype)PolicyQuery)match_indirect_regexmatch_rangec s~ e Zd ZdZeedZeddZdZ dZ
eddZdZdZ
edd ZdZed
dZdZdZdZdZ fdd
Zdd Z ZS )MLSRuleQuerya
Query MLS rules.
Parameter:
policy The policy to query.
Keyword Parameters/Class attributes:
ruletype The list of rule type(s) to match.
source The name of the source type/attribute to match.
source_regex If true, regular expression matching will
be used on the source type/attribute.
target The name of the target type/attribute to match.
target_regex If true, regular expression matching will
be used on the target type/attribute.
tclass The object class(es) to match.
tclass_regex If true, use a regular expression for
matching the rule's object class.
)
enum_classsource_regexZlookup_type_or_attrFTtarget_regextclass_regexZlookup_classZlookup_range)Zlookup_functionc s$ t t| j|f| tjt| _d S )N)superr
__init__loggingZ getLogger__name__log)selfpolicykwargs) __class__ $/usr/lib64/python3.6/mlsrulequery.pyr @ s zMLSRuleQuery.__init__c c s | j jdj| | j jdj| | j jdj| | j jdj| | j| j | j jdj| x| jj D ]}| jr|j| jkrqr| jrt |j| j| j
| j rqr| jrt |j| j| j
| j rqr| j|sqr| jot|j| j| j| j| j| j r qr|V qrW dS )z.Generator which yields all matching MLS rules.z+Generating MLS rule results from {0.policy}zRuletypes: {0.ruletype}zLSource: {0.source!r}, indirect: {0.source_indirect}, regex: {0.source_regex}zLTarget: {0.target!r}, indirect: {0.target_indirect}, regex: {0.target_regex}zDefault: {0.default!r}, overlap: {0.default_overlap}, subset: {0.default_subset}, superset: {0.default_superset}, proper: {0.default_proper}N)r infoformatdebugZ_match_object_class_debugr Zmlsrulesruletypesourcer source_indirectr targettarget_indirectr
Z_match_object_classdefaultr default_subsetdefault_overlapdefault_supersetdefault_proper)r Zruler r r resultsD sH
zMLSRuleQuery.results)r
__module____qualname____doc__r r r r r r r r r
r! Ztclassr r" r$ r# r% r&