
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
í«„^»  ã               @   sH   d dl Z ddlmZmZ ddlmZ ddlmZ G dd„ deeeƒZdS )é    Né   )ÚMatchContextÚ	MatchName)ÚPolicyQuery)Úmatch_regexc                   s(   e Zd ZdZ‡ fdd„Zdd„ Z‡  ZS )ÚNetifconQueryaG  
    Network interface context query.

    Parameter:
    policy          The policy to query.

    Keyword Parameters/Class attributes:
    name            The name of the network interface to match.
    name_regex      If true, regular expression matching will
                    be used for matching the name.
    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.
    c                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/netifconquery.pyr	   :   s    zNetifconQuery.__init__c             c   sr   | j jdj| ƒƒ | j| j ƒ | j| j ƒ xB| jjƒ D ]4}| jrVt|j	| j| j
ƒ rVq6| j|jƒsdq6|V  q6W dS )z.Generator which yields all matching netifcons.z+Generating netifcon results from {0.policy}N)r   ÚinfoÚformatZ_match_name_debugZ_match_context_debugr   Z	netifconsÚnamer   ÚnetifZ
name_regexZ_match_contextÚcontext)r   r   r   r   r   Úresults>   s    
zNetifconQuery.results)r   Ú
__module__Ú__qualname__Ú__doc__r	   r   Ú__classcell__r   r   )r   r   r      s   r   )	r
   Zmixinsr   r   Zqueryr   Úutilr   r   r   r   r   r   Ú<module>   s   