File: //lib64/python3.9/site-packages/setools/__pycache__/polcapquery.cpython-39.pyc
a
    q�qex  �                   @   sN   d dl Z d dlmZ ddlmZ ddlmZ ddlmZ G dd� dee�Z	dS )	�    N)�Iterable�   )�	MatchName)�PolicyCapability)�PolicyQueryc                       s8   e Zd ZdZdd�� fdd�Zee d�dd�Z�  ZS )�PolCapQuerya/  
    Query SELinux policy capabilities
    Parameter:
    policy      The policy to query.
    Keyword Parameters/Class attributes:
    name        The name of the policy capability to match.
    name_regex  If true, regular expression matching will
                be used for matching the name.
    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/polcapquery.pyr
      s    zPolCapQuery.__init__c                 c   sD   | j �d�| �� | �| j � | j�� D ]}| �|�s8q(|V  q(dS )z8Generator which yields all matching policy capabilities.z4Generating policy capability results from {0.policy}N)r
   �info�formatZ_match_name_debugr   ZpolcapsZ_match_name)r   Zcapr   r   r   �results   s    
zPolCapQuery.results)	r   �
__module__�__qualname__�__doc__r
   r   r   r   �
__classcell__r   r   r   r   r   
   s   r   )
r   �typingr   Zmixinsr   Z	policyrepr   �queryr   r   r   r   r   r   �<module>   s