/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__/users.cpython-39.pyc (3722B)
a qéqeiã@sÚUddlmZddlmZmZmZmZddlmZddl m Z m Z m Z m Z ddlmZddlmZmZdd lmZmZdd lmZdd lmZeeƒZee ed <Gd d„deƒZe ee dœdd„ZGdd„deƒZdS)é)Ú defaultdict)Ú NamedTupleÚSetÚOptionalÚUnioné)Ú MLSDisabled)ÚLevelÚRangeÚRoleÚUseré)ÚDiffResultDescriptor)Ú DifferenceÚ SymbolWrapper)Ú LevelWrapperÚ RangeWrapper©Úrole_wrapper_factory)Ú SymbolCacheÚ _users_cachec@s†eZdZUdZeeed<eeed<eeed<eee e fed<eee e fed<eee e fed<eee e fed<d S) Ú ModifiedUserz'Difference details for a modified user.Ú added_rolesÚ removed_rolesÚ matched_rolesÚ added_levelÚ removed_levelÚ added_rangeÚ removed_rangeN) Ú__name__Ú __module__Ú __qualname__Ú__doc__rr Ú__annotations__rrr Ústrr ©r%r%ú8/usr/lib64/python3.9/site-packages/setools/diff/users.pyrs    r)ÚuserÚreturncCsBzt|j|WSty<t|ƒ}|t|j|<|YS0dS)z| Wrap users from the specified policy. This caches results to prevent duplicate wrapper objects in memory. N)rZpolicyÚKeyErrorr)r'Úrr%r%r&Úuser_wrapper_factory"s  r+c@sDeZdZdZedƒZedƒZedƒZddœdd„Zddœdd„Z dS) ÚUsersDifferencez7Determine the difference in users between two policies.Ú diff_usersN)r(c Csˆ|j d |¡¡| dd„|j ¡Dƒdd„|j ¡Dƒ¡\|_|_}t ƒ|_ |D�],\}}| dd„|j Dƒdd„|j Dƒ¡\}}}z$t |j ƒ}t|jƒ}|j } |j} Wn"tyÎd}d}d} d} Yn0z$t |j ƒ} t|jƒ} |j } |j}Wn$t�yd} d} d} d}Yn0|| k�r.| }| }nd}d}|| k�rJ|}| }nd}d}|�sh|�sh|�sh|rTt|||||||ƒ|j |<qTdS) z6Generate the difference in users between the policies.zDGenerating user differences from {0.left_policy} to {0.right_policy}css|]}t|ƒVqdS©N©r+©Ú.0r*r%r%r&Ú @óz-UsersDifference.diff_users..css|]}t|ƒVqdSr.r/r0r%r%r&r2Ar3css|]}t|ƒVqdSr.rr0r%r%r&r2Kr3css|]}t|ƒVqdSr.rr0r%r%r&r2Lr3NzNone (MLS Disabled))ÚlogÚinfoÚformatZ _set_diffZ left_policyZusersZ right_policyÚ added_usersÚ removed_usersÚdictÚmodified_usersÚrolesrZ mls_levelrZ mls_rangerr)ÚselfZ matched_usersZ left_userZ right_userrrrZleft_level_wrapZleft_range_wrapZ left_levelZ left_rangeZright_level_wrapZright_range_wrapZ right_levelZ right_rangerrrrr%r%r&r-9shÿþþ            úzUsersDifference.diff_userscCs"|j d¡d|_d|_d|_dS)z%Reset diff results on policy changes.zResetting user differencesN)r4Údebugr7r8r:)r<r%r%r&Ú _reset_diffŒs zUsersDifference._reset_diff) rr r!r"rr7r8r:r-r>r%r%r%r&r,1s Sr,N)Ú collectionsrÚtypingrrrrÚ exceptionrZ policyrepr r r r Z descriptorsrÚ differencerrZmlsrrr;rrr9rr#rr+r,r%r%r%r&Ús