
­­­­­­­­­­­­­­­­­­
<!DOCTYPE html>
<html>
3
^	                 @   sV   d dl Z d dlZddlmZ ddlmZ ddlmZ ddlm	Z	 G dd deeZ
dS )	    N   )CriteriaSetDescriptor)	MatchName)PolicyQuery)match_regex_or_setc                   s:   e Zd ZdZeddZdZdZ fddZdd Z	  Z
S )		RoleQuerya  
    Query SELinux policy roles.

    Parameter:
    policy            The policy to query.

    Keyword Parameters/Class attributes:
    name         The role name to match.
    name_regex   If true, regular expression matching
                 will be used on the role names.
    types        The type to match.
    types_equal  If true, only roles with type sets
                 that are equal to the criteria will
                 match.  Otherwise, any intersection
                 will match.
    types_regex  If true, regular expression matching
                 will be used on the type names instead
                 of set logic.
    types_regexZlookup_typeFc                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/rolequery.pyr
   6   s    zRoleQuery.__init__c             c   s   | j jdj|  | j| j  | j jdj|  xJ| jj D ]<}| j|sLq<| jrrt	t
|j | j| j| j rrq<|V  q<W dS )z*Generator which yields all matching roles.z'Generating role results from {0.policy}z?Types: {0.types!r}, regex: {0.types_regex}, eq: {0.types_equal}N)r   infoformatZ_match_name_debugdebugr   ZrolesZ_match_nametypesr   settypes_equalr   )r   rr   r   r   results:   s    



zRoleQuery.results)r   
__module____qualname____doc__r   r   r   r   r
   r   __classcell__r   r   )r   r   r      s   
r   )r   reZdescriptorsr   Zmixinsr   Zqueryr   utilr   r   r   r   r   r   <module>   s   