diff options
| author | Thibaut Horel <thibaut.horel@gmail.com> | 2014-10-26 15:15:34 -0400 |
|---|---|---|
| committer | Thibaut Horel <thibaut.horel@gmail.com> | 2014-10-26 15:15:34 -0400 |
| commit | bc6dab7ff3899af3ba8e46d3a3ccd07fb43f620d (patch) | |
| tree | 5833a684ecc57917b71176739b0a6a50e97099e5 | |
| parent | 4a8fc29aa1181824c57b28e701b9a436a3a8240b (diff) | |
| parent | 8c9c32f9a72b0e49e67e4e5bd7cfcb3565c87597 (diff) | |
| download | python-pushover-bc6dab7ff3899af3ba8e46d3a3ccd07fb43f620d.tar.gz | |
Merge pull request #12 from filipl/poll_fix
Fix consistency in MessageRequest.poll
| -rw-r--r-- | AUTHORS.rst | 1 | ||||
| -rw-r--r-- | pushover.py | 22 |
2 files changed, 13 insertions, 10 deletions
diff --git a/AUTHORS.rst b/AUTHORS.rst index ff143a0..704cb48 100644 --- a/AUTHORS.rst +++ b/AUTHORS.rst @@ -4,3 +4,4 @@ Contributors * Sam Birch <sam.m.birch@gmail.com> * Crupuk * Thibaut Horel <thibaut.horel@gmail.com> +* Filip Lundborg <filip@filipl.se> 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 |
