Skip to content

Commit

Permalink
Fix inserting >1000 members in google groups
Browse files Browse the repository at this point in the history
  • Loading branch information
DeD1rk committed Dec 13, 2023
1 parent 2391a20 commit f869202
Showing 1 changed file with 14 additions and 11 deletions.
25 changes: 14 additions & 11 deletions website/mailinglists/gsuite.py
Original file line number Diff line number Diff line change
Expand Up @@ -321,19 +321,22 @@ def _update_group_members(self, group):
except HttpError:
logger.exception(f"Could not remove a list member from {group.name}")

batch = self._directory_api.new_batch_http_request()
for insert_member in insert_list:
batch.add(
self._directory_api.members().insert(
groupKey=f"{group.name}@{settings.GSUITE_DOMAIN}",
body={"email": insert_member, "role": "MEMBER"},
while insert_list:
insert_batch = insert_list[:900]
insert_list = insert_list[900:]
batch = self._directory_api.new_batch_http_request()
for insert_member in insert_batch:
batch.add(
self._directory_api.members().insert(
groupKey=f"{group.name}@{settings.GSUITE_DOMAIN}",
body={"email": insert_member, "role": "MEMBER"},
)
)
)

try:
batch.execute()
except HttpError:
logger.exception(f"Could not insert a list member in {group.name}")
try:
batch.execute()
except HttpError:
logger.exception(f"Could not insert a list member in {group.name}")

logger.info(f"List {group.name} members updated")

Expand Down

0 comments on commit f869202

Please sign in to comment.