/usr/lib64/python3.9/site-packages/setools/diff/__pycache__
NameSizeModeActions
bool.cpython-39.opt-1.pyc26170644editdlrm
bool.cpython-39.pyc26170644editdlrm
bounds.cpython-39.opt-1.pyc39770644editdlrm
bounds.cpython-39.pyc39770644editdlrm
commons.cpython-39.opt-1.pyc21610644editdlrm
commons.cpython-39.pyc21610644editdlrm
conditional.cpython-39.opt-1.pyc16900644editdlrm
conditional.cpython-39.pyc16900644editdlrm
constraints.cpython-39.opt-1.pyc73040644editdlrm
constraints.cpython-39.pyc75810644editdlrm
context.cpython-39.opt-1.pyc15900644editdlrm
context.cpython-39.pyc15900644editdlrm
default.cpython-39.opt-1.pyc34020644editdlrm
default.cpython-39.pyc34020644editdlrm
descriptors.cpython-39.opt-1.pyc12300644editdlrm
descriptors.cpython-39.pyc12300644editdlrm
difference.cpython-39.opt-1.pyc55420644editdlrm
difference.cpython-39.pyc57060644editdlrm
fsuse.cpython-39.opt-1.pyc30520644editdlrm
fsuse.cpython-39.pyc30520644editdlrm
genfscon.cpython-39.opt-1.pyc31510644editdlrm
genfscon.cpython-39.pyc31510644editdlrm
ibendportcon.cpython-39.opt-1.pyc31690644editdlrm
ibendportcon.cpython-39.pyc31690644editdlrm
ibpkeycon.cpython-39.opt-1.pyc31430644editdlrm
ibpkeycon.cpython-39.pyc31430644editdlrm
initsid.cpython-39.opt-1.pyc21960644editdlrm
initsid.cpython-39.pyc21960644editdlrm
mls.cpython-39.opt-1.pyc98000644editdlrm
mls.cpython-39.pyc98000644editdlrm
mlsrules.cpython-39.opt-1.pyc39380644editdlrm
mlsrules.cpython-39.pyc40690644editdlrm
netifcon.cpython-39.opt-1.pyc32390644editdlrm
netifcon.cpython-39.pyc32390644editdlrm
nodecon.cpython-39.opt-1.pyc30510644editdlrm
nodecon.cpython-39.pyc30510644editdlrm
objclass.cpython-39.opt-1.pyc29710644editdlrm
objclass.cpython-39.pyc29710644editdlrm
polcap.cpython-39.opt-1.pyc15400644editdlrm
polcap.cpython-39.pyc15400644editdlrm
portcon.cpython-39.opt-1.pyc30840644editdlrm
portcon.cpython-39.pyc30840644editdlrm
properties.cpython-39.opt-1.pyc17040644editdlrm
properties.cpython-39.pyc17040644editdlrm
rbacrules.cpython-39.opt-1.pyc54470644editdlrm
rbacrules.cpython-39.pyc56220644editdlrm
roles.cpython-39.opt-1.pyc28950644editdlrm
roles.cpython-39.pyc28950644editdlrm
terules.cpython-39.opt-1.pyc157450644editdlrm
terules.cpython-39.pyc157450644editdlrm
typeattr.cpython-39.opt-1.pyc30580644editdlrm
typeattr.cpython-39.pyc30580644editdlrm
types.cpython-39.opt-1.pyc36940644editdlrm
types.cpython-39.pyc36940644editdlrm
typing.cpython-39.opt-1.pyc5910644editdlrm
typing.cpython-39.pyc5910644editdlrm
users.cpython-39.opt-1.pyc37220644editdlrm
users.cpython-39.pyc37220644editdlrm
__init__.cpython-39.opt-1.pyc20810644editdlrm
__init__.cpython-39.pyc20810644editdlrm
Edit: /usr/lib64/python3.9/site-packages/setools/diff/__pycache__/difference.cpython-39.pyc (5706B)
a qéqepã@s”ddlZddlmZmZddlmZmZmZddlm Z m Z m Z Gdd„dƒZ ede d �Z Gd d „d eee ƒZed e d �ZGd d„deeƒZdS)éN)ÚABCÚabstractmethod)ÚGenericÚIterableÚTypeVaré)Ú PolicyObjectÚ PolicySymbolÚ SELinuxPolicyc@s†eZdZdZeeddœdd„Zedd„ƒZejdd„ƒZed d „ƒZ e jd d „ƒZ dd œd d„Z e e e dœdd„ƒZ e ddd„ƒZdS)Ú Differencez&Base class for all policy differences.N)Ú left_policyÚ right_policyÚreturncCst t¡|_||_||_dS©N)ÚloggingZ getLoggerÚ__name__Úlogr r )Úselfr r ©rú=/usr/lib64/python3.9/site-packages/setools/diff/difference.pyÚ__init__s zDifference.__init__cCs|jSr)Ú _left_policy©rrrrr szDifference.left_policycCs$|j d |¡¡||_| ¡dS)Nz"Policy diff left policy set to {0})rÚinfoÚformatrÚ _reset_diff©rZpolicyrrrr scCs|jSr)Ú _right_policyrrrrr #szDifference.right_policycCs$|j d |¡¡||_| ¡dS)Nz#Policy diff right policy set to {0})rrrrrrrrrr 's)rcCst‚dS)z%Reset diff results on policy changes.N)ÚNotImplementedErrorrrrrr0szDifference._reset_diff)Ú rule_listrccs&|D]}| ¡D]}||ƒVqqdS)z4Generator that yields a wrapped, expanded rule list.N)Úexpand)rZ wrapper_classZunexpanded_ruleZ expanded_rulerrrÚ_expand_generator4s zDifference._expand_generatorTc Csît|ƒ}t|ƒ}||}||}tƒ}t|||d�} t|||d�} t| ƒt| ƒksnJd t| ƒt| ƒ¡ƒ‚t| | ƒD].\}}||ks˜Jd ||¡ƒ‚| ||f¡qx|ràtdd„|Dƒƒtdd„|Dƒƒtdd„|DƒƒfS|||fSdS)aÚ Standard diff of two sets. Parameters: left An iterable right An iterable Return: tuple (added, removed, matched) added Set of items in right but not left removed Set of items in left but not right matched Set of items in both left and right. This is in the form of tuples with the matching item from left and right ©ÚkeyzDMatched items assertion failure (this is an SETools bug), {0} != {1}css|] }|jVqdSr©Úorigin©Ú.0ÚirrrÚ qóz'Difference._set_diff..css|] }|jVqdSrr$r&rrrr)rr*css|]\}}|j|jfVqdSrr$)r'ÚleftÚrightrrrr)sr*N)ÚsetÚsortedÚlenrÚzipÚadd) r+r,r#ÚunwrapZ left_itemsZ right_itemsZ added_itemsZ removed_itemsZ matched_itemsZleft_matched_itemsZright_matched_itemsrrrÚ _set_diff>s2 ÿÿ ÿÿþzDifference._set_diff)NT)rÚ __module__Ú __qualname__Ú__doc__r rÚpropertyr Úsetterr rÚ staticmethodrr!r3rrrrr s     r ÚT)Úboundc@sleZdZUdZeed<eed<dZeeddœdd„Zd d „Z e d d „ƒZ e d d„ƒZ e dd„ƒZ dd„ZdS)ÚWrapperz/Abstract base class for policy object wrappers.r%r#©r%r#N)r%r#rcCs||_||_dSrr=)rr%r#rrrr„szWrapper.__init__cCsd |t|jƒ¡S)Nz&<{0.__class__.__name__}(Wrapping {1})>)rÚreprr%rrrrÚ__repr__ˆszWrapper.__repr__cCsdSrrrrrrÚ__hash__ŒszWrapper.__hash__cCsdSrr©rÚotherrrrÚ__eq__�szWrapper.__eq__cCsdSrrrArrrÚ__lt__”szWrapper.__lt__cCs ||k SrrrArrrÚ__ne__˜szWrapper.__ne__)rr4r5r6r:Ú__annotations__ÚintÚ __slots__rr?rr@rCrDrErrrrr<{s    r<ÚScsNeZdZUdZeed<dZeddœ‡fdd„ Zdd „Z d d „Z d d „Z ‡Z S)Ú SymbolWrapperzˆ General wrapper for policy symbols, e.g. types, roles to provide a diff-specific equality operation based on its name. Úname©rKN)Úsymbolrcs tƒ |t|jƒ¡|j|_dSr)ÚsuperrÚhashrK)rrM©Ú __class__rrr«szSymbolWrapper.__init__cCs|jSrr"rrrrr@¯szSymbolWrapper.__hash__cCs |j|jkSrrLrArrrrD²szSymbolWrapper.__lt__cCs |j|jkSrrLrArrrrCµszSymbolWrapper.__eq__) rr4r5r6ÚstrrFrHrIrr@rDrCÚ __classcell__rrrPrrJŸs rJ)rÚabcrrÚtypingrrrZ policyreprr r r r:r<rIrJrrrrÚsk !