
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
í«„^,  ã               @   s6   d dl Z ddlmZ ddlmZ G dd„ deeƒZdS )é    Né   )ÚMatchContext)ÚPolicyQueryc                   sF   e Zd ZdZdZedd„ ƒZejdd„ ƒZ‡ fdd„Zdd	„ Z	‡  Z
S )
ÚPcideviceconQueryaÁ  
    Pcidevicecon context query.

    Parameter:
    policy          The policy to query.

    Keyword Parameters/Class attributes:
    device          A single PCI device ID.

    user            The criteria to match the context's user.
    user_regex      If true, regular expression matching
                    will be used on the user.

    role            The criteria to match the context's role.
    role_regex      If true, regular expression matching
                    will be used on the role.

    type_           The criteria to match the context's type.
    type_regex      If true, regular expression matching
                    will be used on the type.

    range_          The criteria to match the context's range.
    range_subset    If true, the criteria will match if it is a subset
                    of the context's range.
    range_overlap   If true, the criteria will match if it overlaps
                    any of the context's range.
    range_superset  If true, the criteria will match if it is a superset
                    of the context's range.
    range_proper    If true, use proper superset/subset operations.
                    No effect if not using set operations.
    Nc             C   s   | j S )N)Ú_device)Úself© r   ú)/usr/lib64/python3.6/pcideviceconquery.pyÚdevice=   s    zPcideviceconQuery.devicec             C   s,   |r"|dk rt dj|ƒƒ‚|| _nd | _d S )Nr   z#PCI device ID must be positive: {0})Ú
ValueErrorÚformatr   )r   Úvaluer   r   r	   r
   A   s
    c                s$   t t| ƒj|f|Ž tjtƒ| _d S )N)Úsuperr   Ú__init__ÚloggingZ	getLoggerÚ__name__Úlog)r   ÚpolicyÚkwargs)Ú	__class__r   r	   r   K   s    zPcideviceconQuery.__init__c             c   sp   | j jdj| ƒƒ | j jdj| ƒƒ | j| j ƒ x:| jjƒ D ],}| jrT| j|jkrTq<| j|j	ƒsbq<|V  q<W dS )z2Generator which yields all matching pcidevicecons.z"Generating results from {0.policy}zDevice ID: {0.device!r}N)
r   Úinfor   ÚdebugZ_match_context_debugr   Zpcideviceconsr
   Z_match_contextÚcontext)r   Zpcideviceconr   r   r	   ÚresultsO   s    zPcideviceconQuery.results)r   Ú
__module__Ú__qualname__Ú__doc__r   Úpropertyr
   Úsetterr   r   Ú__classcell__r   r   )r   r	   r      s    
r   )r   Zmixinsr   Zqueryr   r   r   r   r   r	   Ú<module>   s   