diff --git a/generate.py b/generate.py index 2520a91..f41dbab 100755 --- a/generate.py +++ b/generate.py @@ -12,6 +12,7 @@ import quopri import requests import json import subprocess +import re from pprint import pprint CONFIG_FILE = "generator.conf" @@ -42,10 +43,20 @@ def get_body_text(msg): payload = quopri.decodestring(payload.encode("ascii")).decode(part.get_content_charset("utf-8")) return payload +# from https://stackoverflow.com/a/49986645 +def deEmojify(text): + regrex_pattern = re.compile(pattern = "[" + u"\U0001F600-\U0001F64F" # emoticons + u"\U0001F300-\U0001F5FF" # symbols & pictographs + u"\U0001F680-\U0001F6FF" # transport & map symbols + u"\U0001F1E0-\U0001F1FF" # flags (iOS) + "]+", flags = re.UNICODE) + return regrex_pattern.sub(r'',text) + class Top: def __init__(self, title=None, sender=None, body=None, protostub=None, message=None): if message: - self.title = decode_header(message["Subject"][6:]) + self.title = deEmojify(decode_header(message["Subject"][6:])) real_name, address = email.utils.parseaddr(message["From"]) real_name = decode_header(real_name) self.sender = real_name or address