aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarius Halden <marius.h@lden.org>2015-04-11 00:54:45 +0200
committerMarius Halden <marius.h@lden.org>2015-04-11 01:08:17 +0200
commite5d4426f30781167d98068626cd47ddc19866cd1 (patch)
tree53945e63e3af1bb19046f898ac5ef1ace1821669
parent7ce8ae6985c5bc2b658d35c9e123e8436d64b015 (diff)
downloademail2push-e5d4426f30781167d98068626cd47ddc19866cd1.tar.gz
email2push-e5d4426f30781167d98068626cd47ddc19866cd1.tar.bz2
email2push-e5d4426f30781167d98068626cd47ddc19866cd1.tar.xz
Handle some types better in case of failure, and handle if a single
user token is specified without using a list
-rwxr-xr-x[-rw-r--r--]push.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/push.py b/push.py
index ea6ab5c..93bf6d0 100644..100755
--- a/push.py
+++ b/push.py
@@ -16,8 +16,8 @@ except IndexError:
with open(cfg) as fh:
maps = yaml.load(fh)
-sender_map = maps.get('senders', None)
-recipient_map = maps.get('recipients', None)
+sender_map = maps.get('senders', [])
+recipient_map = maps.get('recipients', [])
recipient = os.environ.get('RECIPIENT', '')
sender = os.environ.get('SENDER', '')
@@ -46,16 +46,20 @@ parser = email.parser.Parser()
mail = parser.parse(sys.stdin)
title, encoding = email.header.decode_header(mail.get('subject'))[0]
-if title != None and encoding != None:
+if title is not None and encoding is not None:
title = title.decode(encoding).encode('utf-8')
payload = mail.get_payload(decode=True)
encoding = mail.get_charsets()[0]
-if payload != None and encoding != None:
+if payload is not None and encoding is not None:
payload = payload.decode(encoding).encode('utf-8')
msg = payload.strip()
-for user_token in user_tokens:
- p = pushover.Client(user_token, api_token=api_token)
+if type(user_tokens) is list:
+ for user_token in user_tokens:
+ p = pushover.Client(user_token, api_token=api_token)
+ p.send_message(msg, title=title)
+else:
+ p = pushover.Client(user_tokens, api_token=api_token)
p.send_message(msg, title=title)