From b08cfd7409b6cd0f96d37abfb19b50d13fb2c038 Mon Sep 17 00:00:00 2001 From: Adarnof Date: Wed, 2 Dec 2015 06:38:17 +0000 Subject: [PATCH] Intelligently produces group listing. Halves the time required to create account. Closes #119 --- services/managers/discord_manager.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/services/managers/discord_manager.py b/services/managers/discord_manager.py index b9ed5398..3a4f0f5c 100644 --- a/services/managers/discord_manager.py +++ b/services/managers/discord_manager.py @@ -287,11 +287,11 @@ class DiscordManager: if len(groups) == 0: group_ids = [] else: + roles = api.get_roles() for g in groups: - try: - group_id = api.get_group_id(g) - group_ids.append(group_id) - except: + if g in roles: + group_ids.append(roles[g]['id']) + else: # need to create role on server for group group_ids.append(DiscordManager.create_group(g)) api.set_roles(user_id, group_ids) @@ -354,3 +354,7 @@ class DiscordManager: return True except: return False + + @staticmethod + def generate_group_map(groups, roles): +