def upload_image(self, image_uri, sync, username, userid, channel_name):
token = self.apikey
logger.info('downloading %s', image_uri)
filename = os.path.basename(image_uri)
request = urllib.request.Request(image_uri)
request.add_header("Authorization", "Bearer %s" % token)
image_response = urllib.request.urlopen(request)
content_type = image_response.info().get_content_type()
filename_extension = mimetypes.guess_extension(content_type).lower() # returns with "."
physical_extension = "." + filename.rsplit(".", 1).pop().lower()
if physical_extension == filename_extension:
pass
elif filename_extension == ".jpe" and physical_extension in [ ".jpg", ".jpeg", ".jpe", ".jif", ".jfif" ]:
# account for mimetypes idiosyncrancy to return jpe for valid jpeg
pass
else:
logger.warning("unable to determine extension: {} {}".format(filename_extension, physical_extension))
filename += filename_extension
logger.info('uploading as %s', filename)
image_id = yield from self.bot._client.upload_image(image_response, filename=filename)
logger.info('sending HO message, image_id: %s', image_id)
yield from sync._bridgeinstance._send_to_internal_chat(
sync.hangoutid,
"shared media from slack",
{ "sync": sync,
"source_user": username,
"source_uid": userid,
"source_title": channel_name },
image_id=image_id )
评论列表
文章目录