diff options
author | Marius Halden <marius.h@lden.org> | 2015-04-12 16:25:47 +0200 |
---|---|---|
committer | Marius Halden <marius.h@lden.org> | 2015-04-12 16:25:47 +0200 |
commit | 93953320ef4314d25b5e9141bf75a42286ecee30 (patch) | |
tree | f2463efd1085f53482cb0ca5aab3ade9f6cdc6bd /push.py | |
parent | 755b1ce420d9a2f915884e132d67447b88ad2223 (diff) | |
download | email2push-93953320ef4314d25b5e9141bf75a42286ecee30.tar.gz email2push-93953320ef4314d25b5e9141bf75a42286ecee30.tar.bz2 email2push-93953320ef4314d25b5e9141bf75a42286ecee30.tar.xz |
More EAFP, less LBYL
Diffstat (limited to 'push.py')
-rwxr-xr-x | push.py | 14 |
1 files changed, 10 insertions, 4 deletions
@@ -42,10 +42,11 @@ for s in sender_map: if re.match(s['re'], sender): try: api_token = s['key'] - break except KeyError: print >>sys.stderr, "Found no key for sender." sys.exit(1) + else: + break except KeyError: next else: @@ -58,10 +59,11 @@ for r in recipient_map: if re.match(r['re'], recipient): try: user_tokens = r['keys'] - break except KeyError: print >>sys.stderr, "Found no key(s) for recipient." sys.exit(1) + else: + break except KeyError: next else: @@ -74,8 +76,10 @@ mail = parser.parse(sys.stdin) # Try to get the subject from the email and recode to utf-8 if possible title, encoding = email.header.decode_header(mail.get('subject'))[0] -if title is not None and encoding is not None: +try: title = title.decode(encoding).encode('utf-8') +except NameError: + pass # Lets at least try to handle mime multipart if mail.is_multipart(): @@ -94,8 +98,10 @@ else: # Recode payload to utf-8 if possible encoding = payload.get_charsets()[0] -if payload is not None and encoding is not None: +try: payload = payload.decode(encoding).encode('utf-8') +except NameError: + pass msg = payload.strip() |