Skip to content

Commit 4257c50

Browse files
authored
Detect if slack redirected us when bridging a file. (#18)
This likely indicates some failure, such as authentication.
1 parent 986131c commit 4257c50

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

slack_reformat.py

+12-7
Original file line numberDiff line numberDiff line change
@@ -187,14 +187,19 @@ def format_files_from_slack(files, needs_leading_newline,
187187
r = requests.get(file_private_url,
188188
headers={"Authorization": f"Bearer {slack_bearer_token}"})
189189
if r.status_code == 200:
190-
uploadable_file = BytesIO(r.content)
191-
uploadable_file.name = file['name']
192-
193-
response = zulip_client.upload_file(uploadable_file)
194-
if 'uri' in response and response['uri']:
195-
rendered_markdown_name = f"[{file['name']}]({response['uri']})"
190+
if file_private_url != r.url:
191+
# we were redirected!
192+
_LOGGER.info(
193+
f'Apparent slack redirect from {file_private_url} to {r.url} when bridging file. Skipping.')
196194
else:
197-
_LOGGER.info('Got bad response when uploading to zulip: {}'.format(response))
195+
uploadable_file = BytesIO(r.content)
196+
uploadable_file.name = file['name']
197+
198+
response = zulip_client.upload_file(uploadable_file)
199+
if 'uri' in response and response['uri']:
200+
rendered_markdown_name = f"[{file['name']}]({response['uri']})"
201+
else:
202+
_LOGGER.info('Got bad response when uploading to zulip: {}'.format(response))
198203
else:
199204
_LOGGER.info(f"Got code {r.status_code} when fetching {file_private_url} from slack.")
200205

0 commit comments

Comments
 (0)