3 �^� � @ sT d dl Z ddlmZ ddlmZmZ ddlmZ ddlm Z G dd� deee�Z dS ) � N� )�CriteriaDescriptor)� MatchAlias� MatchName)�PolicyQuery)�match_levelc s: e Zd ZdZedd�ZdZdZ� fdd�Zdd� Z � Z S ) �SensitivityQuerya� Query MLS Sensitivities Parameter: policy The policy to query. Keyword Parameters/Class attributes: name The name of the category to match. name_regex If true, regular expression matching will be used for matching the name. alias The alias name to match. alias_regex If true, regular expression matching will be used on the alias names. sens The criteria to match the sensitivity by dominance. sens_dom If true, the criteria will match if it dominates the sensitivity. sens_domby If true, the criteria will match if it is dominated by the sensitivity. Zlookup_sensitivity)Zlookup_functionFc s$ t t| �j|f|� tjt�| _d S )N)�superr �__init__�loggingZ getLogger�__name__�log)�self�policy�kwargs)� __class__� �(/usr/lib64/python3.6/sensitivityquery.pyr 5 s zSensitivityQuery.__init__c c s� | j jdj| �� | j| j � | j| j � | j jdj| �� xP| jj� D ]B}| j|�sXqH| j |�sdqH| j r�t|| j | j| j d� r�qH|V qHW dS )z2Generator which yields all matching sensitivities.z.Generating sensitivity results from {0.policy}z:Sens: {0.sens!r}, dom: {0.sens_dom}, domby: {0.sens_domby}FN)r �info�formatZ_match_name_debugZ_match_alias_debug�debugr Z sensitivitiesZ_match_nameZ_match_alias�sensr �sens_dom� sens_domby)r �sr r r �results9 s"