3 í«„^U ã@sHddlmZddlmZddlmZeddddgƒZGd d „d eƒZd S) é)Ú namedtupleé)ÚDiffResultDescriptor)Ú DifferenceZmodified_propertyÚpropertyZaddedZremovedc@s(eZdZdZedƒZdd„Zdd„ZdS)ÚPropertiesDifferencezr Determine the difference in policy properties (unknown permissions, MLS, etc.) between two policies. Údiff_propertiescCsŽg|_|jj|jjkr2|jjtd|jj|jjƒƒ|jj|jjkr^|jjtd|jj|jjƒƒ|jj|jjkrŠ|jjtd|jj|jjƒƒdS)NÚhandle_unknownZMLSÚversion)Úmodified_propertiesZ left_policyr Z right_policyÚappendÚmodified_properties_recordZmlsr )Úself©rú"/usr/lib64/python3.6/properties.pyr%s   z$PropertiesDifference.diff_propertiescCs|jjdƒd|_dS)z%Reset diff results on policy changes.zResetting property differencesN)ÚlogÚdebugr )rrrrÚ _reset_diff=s z PropertiesDifference._reset_diffN)Ú__name__Ú __module__Ú __qualname__Ú__doc__rr rrrrrrrsrN)Ú collectionsrZ descriptorsrÚ differencerr rrrrrÚs