diff options
author | 2019-10-11 19:26:13 +0100 | |
---|---|---|
committer | 2019-10-11 19:26:13 +0100 | |
commit | f6db7cc458e63a6c88a3142110bb4f744a4c5920 (patch) | |
tree | aa68e39d909ca83dc08e80f1f11a460fc7fa3a3d /pydis_site | |
parent | Clarify _apply_groups kwarg (Thanks, @jchristgit) (diff) |
Simplify signals.py as per @jchristgit's review
Diffstat (limited to 'pydis_site')
-rw-r--r-- | pydis_site/apps/home/signals.py | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/pydis_site/apps/home/signals.py b/pydis_site/apps/home/signals.py index f0be3db2..1d094d50 100644 --- a/pydis_site/apps/home/signals.py +++ b/pydis_site/apps/home/signals.py @@ -146,14 +146,10 @@ class SignalListener: except RoleMapping.DoesNotExist: continue # No mapping exists - remove_groups = [ - mapping.group for mapping in mappings if mapping.group not in new_groups - ] + account.user.groups.add( + group for group in new_groups if group not in current_groups + ) - add_groups = [group for group in new_groups if group not in current_groups] - - if remove_groups: - account.user.groups.remove(*remove_groups) - - if add_groups: - account.user.groups.add(*add_groups) + account.user.groups.remove( + mapping.group for mapping in mappings if mapping.group not in new_groups + ) |