3 í«„^ï ã@sVddlmZddlmZddlmZddlmZmZedddgƒZ Gd d „d eƒZ d S) é)Ú namedtupleé)ÚContextWrapper)ÚDiffResultDescriptor)Ú DifferenceÚ SymbolWrapperZmodified_initsidZ added_contextZremoved_contextc@s8eZdZdZedƒZedƒZedƒZdd„Zdd„Z dS)ÚInitialSIDsDifferencez:Determine the difference in initsids between two policies.Údiff_initialsidscCsŽ|jjdj|ƒƒ|jdd„|jjƒDƒdd„|jjƒDƒƒ\|_|_}t ƒ|_ x8|D]0\}}t |j ƒt |j ƒkrVt |j |j ƒ|j |<qVWdS)z=Generate the difference in initial SIDs between the policies.zKGenerating initial SID differences from {0.left_policy} to {0.right_policy}css|]}t|ƒVqdS)N)r)Ú.0Úi©r ú/usr/lib64/python3.6/initsid.pyú ,sz9InitialSIDsDifference.diff_initialsids..css|]}t|ƒVqdS)N)r)r r r r r r-sN)ÚlogÚinfoÚformatZ _set_diffZ left_policyZ initialsidsZ right_policyÚadded_initialsidsÚremoved_initialsidsÚdictÚmodified_initialsidsrÚcontextÚmodified_initsids_record)ÚselfZmatched_initialsidsZleft_initialsidZright_initialsidr r r r %s  z&InitialSIDsDifference.diff_initialsidscCs"|jjdƒd|_d|_d|_dS)z%Reset diff results on policy changes.z Resetting initialsid differencesN)rÚdebugrrr)rr r r Ú _reset_diff;s z!InitialSIDsDifference._reset_diffN) Ú__name__Ú __module__Ú __qualname__Ú__doc__rrrrr rr r r r rs rN) Ú collectionsrrrZ descriptorsrÚ differencerrrrr r r r Ús