Skip to content

Commit e62a12f

Browse files
committed
Pass the noresend correctly, use more specific exceptions
1 parent 5db3559 commit e62a12f

File tree

2 files changed

+9
-3
lines changed

2 files changed

+9
-3
lines changed

project/slacksync/management/commands/sync_slack_users.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def handle(self, *args, **options):
2323
if options['noresend']:
2424
resend = False
2525
sync = SlackMemberSync()
26-
tbd = sync.sync_members(autoremove, )
26+
tbd = sync.sync_members(autoremove, resend)
2727
if options['verbosity'] > 1:
2828
for dm in tbd:
2929
if autoremove:

project/slacksync/membersync.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
from django.conf import settings
77
from members.models import Member
88
from requests.sessions import Session
9+
from requests.exceptions import RequestException
10+
import slacker
911

1012
from .utils import api_configured, get_client
1113

@@ -46,7 +48,11 @@ def sync_members(self, autodeactivate=False, resend=True):
4648
if 'ok' not in resp.body or not resp.body['ok']:
4749
self.logger.error("Could not invite {}, response: {}".format(member.email, resp.body))
4850
time.sleep(0.25) # rate-limit
49-
except Exception as e:
51+
except slacker.Error as e:
52+
if str(e) == 'sent_recently':
53+
continue
54+
raise e
55+
except RequestException as e:
5056
if 'Retry-After' in e.response.headers:
5157
wait_s = int(e.response.headers['Retry-After'])
5258
logger.warning("Asked to wait {}s before retrying invite for {}".format(wait_s, member.email))
@@ -78,7 +84,7 @@ def sync_members(self, autodeactivate=False, resend=True):
7884
if 'ok' not in resp.body or not resp.body['ok']:
7985
self.logger.error("Could not deactivate {}, response: {}".format(email, resp.body))
8086
time.sleep(0.25) # rate-limit
81-
except Exception as e:
87+
except RequestException as e:
8288
if 'Retry-After' in e.response.headers:
8389
wait_s = int(e.response.headers['Retry-After'])
8490
logger.warning("Asked to wait {}s before retrying deactivation for {}".format(wait_s, email))

0 commit comments

Comments
 (0)