def download_email(message_id): raw_message = get_gmail_message(message_id) parsed_message = parse_message(raw_message) try: Email.get(Email.message_id == parsed_message['message_id']) print "Found email with id %s. Did not create" % parsed_message[ 'message_id'] except DoesNotExist: e = Email.create(**parsed_message) sender_email_address = e.get_sender_email() # if '@' not in sender_email_address: import pdb; pdb.set_trace() s = SenderMetadata.get_or_create( email_address=sender_email_address, email_url=sender_email_address.split('@')[1]) e.sender = s e.save()