@@ -569,27 +569,29 @@ def _apply_permissions(
569
569
"""Applies the given permission edits to the given acl."""
570
570
for user , role in permissions .items ():
571
571
if self ._is_all_users (user ):
572
- acl [ALL_USERS_CAN_READ ] = ( role == 'R' )
572
+ acl [ALL_USERS_CAN_READ ] = role == 'R'
573
573
else :
574
+ readers = acl [READERS ]
575
+ writers = acl [WRITERS ]
574
576
# Make pytype understand the types.
575
- assert isinstance (acl [ READERS ] , list )
576
- assert isinstance (acl [ WRITERS ] , list )
577
+ assert isinstance (readers , list )
578
+ assert isinstance (writers , list )
577
579
578
580
if role == 'R' :
579
- if user not in acl [ READERS ] :
580
- acl [ READERS ] .append (user )
581
- if user in acl [ WRITERS ] :
582
- acl [ WRITERS ] .remove (user )
581
+ if user not in readers :
582
+ readers .append (user )
583
+ if user in writers :
584
+ writers .remove (user )
583
585
elif role == 'W' :
584
- if user in acl [ READERS ] :
585
- acl [ READERS ] .remove (user )
586
- if user not in acl [ WRITERS ] :
587
- acl [ WRITERS ] .append (user )
586
+ if user in readers :
587
+ readers .remove (user )
588
+ if user not in writers :
589
+ writers .append (user )
588
590
elif role == 'D' :
589
- if user in acl [ READERS ] :
590
- acl [ READERS ] .remove (user )
591
- if user in acl [ WRITERS ] :
592
- acl [ WRITERS ] .remove (user )
591
+ if user in readers :
592
+ readers .remove (user )
593
+ if user in writers :
594
+ writers .remove (user )
593
595
594
596
def _is_all_users (self , user : str ) -> bool :
595
597
"""Determines if a user name represents the special "all users" entity."""
0 commit comments