509318396
Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­Â�Â­
<!DOCTYPE html>
<html>
3
í«„^ï	  ã               @   sV   d dl mZ ddlmZ ddlmZ ddlmZmZ edddgƒZ	G d	d
„ d
eƒZ
dS )é    )Ú
namedtupleé   )ÚContextWrapper)ÚDiffResultDescriptor)Ú
DifferenceÚSymbolWrapperZmodified_initsidZadded_contextZremoved_contextc               @   s8   e Zd ZdZedƒZedƒZedƒZdd„ Zdd„ Z	dS )ÚInitialSIDsDifferencez:Determine the difference in initsids between two policies.Údiff_initialsidsc             C   sŽ   | j jdj| ƒƒ | jdd„ | jjƒ D ƒdd„ | jjƒ D ƒƒ\| _| _}t	ƒ | _
x8|D ]0\}}t|jƒt|jƒkrVt|j|jƒ| j
|< qVW dS )z=Generate the difference in initial SIDs between the policies.zKGenerating initial SID differences from {0.left_policy} to {0.right_policy}c             s   s   | ]}t |ƒV  qd S )N)r   )Ú.0Úi© r   ú/usr/lib64/python3.6/initsid.pyú	<genexpr>,   s    z9InitialSIDsDifference.diff_initialsids.<locals>.<genexpr>c             s   s   | ]}t |ƒV  qd S )N)r   )r
   r   r   r   r   r   -   s    N)ÚlogÚinfoÚformatZ	_set_diffZleft_policyZinitialsidsZright_policyÚadded_initialsidsÚremoved_initialsidsÚdictÚmodified_initialsidsr   ÚcontextÚmodified_initsids_record)ÚselfZmatched_initialsidsZleft_initialsidZright_initialsidr   r   r   r	   %   s    
 z&InitialSIDsDifference.diff_initialsidsc             C   s"   | j jdƒ d| _d| _d| _dS )z%Reset diff results on policy changes.z Resetting initialsid differencesN)r   Údebugr   r   r   )r   r   r   r   Ú_reset_diff;   s    z!InitialSIDsDifference._reset_diffN)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r	   r   r   r   r   r   r      s   r   N)Úcollectionsr   r   r   Zdescriptorsr   Ú
differencer   r   r   r   r   r   r   r   Ú<module>   s
   