aboutsummaryrefslogtreecommitdiffstats
path: root/pushover.py
diff options
context:
space:
mode:
Diffstat (limited to 'pushover.py')
-rw-r--r--pushover.py22
1 files changed, 12 insertions, 10 deletions
diff --git a/pushover.py b/pushover.py
index a62609f..b670266 100644
--- a/pushover.py
+++ b/pushover.py
@@ -129,10 +129,12 @@ class MessageRequest(Request):
self.receipt = None
if payload.get("priority", 0) == 2:
self.receipt = self.answer["receipt"]
- self.parameters = ["expired", "called_back", "acknowledged"]
- for parameter in self.parameters:
- setattr(self, parameter, False)
- setattr(self, parameter + "_at", 0)
+ self.parameters = {"expired": "expires_at",
+ "called_back": "called_back_at",
+ "acknowledged": "acknowledged_at"}
+ for param, when in self.parameters.iteritems():
+ setattr(self, param, False)
+ setattr(self, when, 0)
def poll(self):
"""If the message request has a priority of 2, Pushover will keep
@@ -147,18 +149,18 @@ class MessageRequest(Request):
acknowledged, so that a typical handling of a priority-2 notification
can look like this::
- request = client.send_message("Urgent notification", priority=2)
- while not request.poll():
+ request = client.send_message("Urgent notification", priority=2,
+ expire=120, retry=60)
+ while request.poll():
# do something
time.sleep(5)
"""
if (self.receipt and not any(getattr(self, parameter)
for parameter in self.parameters)):
request = Request("get", RECEIPT_URL + self.receipt + ".json", {})
- for parameter in self.parameters:
- setattr(self, parameter, request.answer[parameter])
- setattr(self, parameter + "_at",
- request.answer[parameter + "_at"])
+ for param, when in self.parameters.iteritems():
+ setattr(self, param, bool(request.answer[param]))
+ setattr(self, when, request.answer[when])
return request