aboutsummaryrefslogtreecommitdiffstats
path: root/python/download_emails.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/download_emails.py')
-rw-r--r--python/download_emails.py10
1 files changed, 9 insertions, 1 deletions
diff --git a/python/download_emails.py b/python/download_emails.py
index a0de7e6c..bc338fde 100644
--- a/python/download_emails.py
+++ b/python/download_emails.py
@@ -72,7 +72,15 @@ def get_msg(service, user_id, msg_id):
def msg_content(msg):
"""Extract subject and body from a gmail message"""
subject = [x['value'] for x in msg['payload']['headers'] if x['name']=='Subject'][0]
- content = base64.urlsafe_b64decode(msg['payload']['body']['data']).decode('utf-8')
+ payload = msg['payload']
+ if payload['mimeType'] == 'text/plain':
+ body = payload['body']
+ elif payload['mimeType'] == 'multipart/alternative':
+ parts = payload['parts']
+ body = parts[0]['body']
+ else:
+ raise KeyError
+ content = base64.urlsafe_b64decode(body['data']).decode('utf-8')
date = msg['internalDate'] ## date /1000 to get timestamp
return subject, content, date