
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
3
^1                 @   sb   d dl Z d dlZddlmZ ddlmZmZ ddlmZ ddl	m
Z
mZmZ G dd deeZdS )	    N   )PolicyQuery)CriteriaDescriptorCriteriaSetDescriptor)MatchObjClass)DefaultRuletypeDefaultValueDefaultRangeValuec                   sF   e Zd ZdZeedZeedZ	ee
dZ fddZdd Z  ZS )DefaultQuerya#  
    Query default_* statements.

    Parameter:
    policy          The policy to query.

    Keyword Parameters/Class attributes:
    ruletype        The rule type(s) to match.
    tclass          The object class(es) to match.
    tclass_regex    If true, use a regular expression for
                    matching the rule's object class.
    default         The default to base new contexts (e.g. "source" or "target")
    default_range   The range to use on new context, default_range only
                    ("low", "high", "low_high")
    )
enum_classc                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/defaultquery.pyr   2   s    zDefaultQuery.__init__c             c   s   | j jdj|  | j jdj|  | j| j  | j jdj|  | j jdj|  x|| jj D ]n}| jrx|j| jkrxq`| j|sq`| j	r|j	| j	krq`| j
ry|j
| j
krw`W n tk
r   w`Y nX |V  q`W dS )z9Generator which yields all matching default_* statements.z,Generating default_* results from {0.policy}zRuletypes: {0.ruletype!r}zDefault: {0.default!r}zRange: {0.default_range!r}N)r   infoformatdebugZ_match_object_class_debugr   ZdefaultsruletypeZ_match_object_classdefaultdefault_rangeAttributeError)r   dr   r   r   results6   s&    
zDefaultQuery.results)r   
__module____qualname____doc__r   r   r   r   r   r   r	   r   r   r   __classcell__r   r   )r   r   r
      s   


r
   )r   reZqueryr   Zdescriptorsr   r   Zmixinsr   Z	policyrepr   r   r	   r
   r   r   r   r   <module>   s   