From acc46fc3497a66a427b795b4a22c6e71d69185a1 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sat, 13 Dec 2014 15:56:57 +0100 Subject: Update --- pyload/plugin/addon/WindowsPhoneToastNotify.py | 57 ++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 pyload/plugin/addon/WindowsPhoneToastNotify.py (limited to 'pyload/plugin/addon/WindowsPhoneToastNotify.py') diff --git a/pyload/plugin/addon/WindowsPhoneToastNotify.py b/pyload/plugin/addon/WindowsPhoneToastNotify.py new file mode 100644 index 000000000..fadc17d04 --- /dev/null +++ b/pyload/plugin/addon/WindowsPhoneToastNotify.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- + +import httplib +import time + +from pyload.plugin.Addon import Addon + + +class WindowsPhoneToastNotify(Addon): + __name = "WindowsPhoneToastNotify" + __type = "addon" + __version = "0.03" + + __config = [("force" , "bool", "Force even if client is connected" , False), + ("pushId" , "str" , "pushId" , "" ), + ("pushUrl" , "str" , "pushUrl" , "" ), + ("pushTimeout", "int" , "Timeout between notifications in seconds", 0 )] + + __description = """Send push notifications to Windows Phone""" + __license = "GPLv3" + __authors = [("Andy Voigt", "phone-support@hotmail.de")] + + + def getXmlData(self): + myxml = (" " + " Pyload Mobile Captcha waiting! " + " ") + return myxml + + + def doRequest(self): + URL = self.getConfig("pushUrl") + request = self.getXmlData() + webservice = httplib.HTTP(URL) + webservice.putrequest("POST", self.getConfig("pushId")) + webservice.putheader("Host", URL) + webservice.putheader("Content-type", "text/xml") + webservice.putheader("X-NotificationClass", "2") + webservice.putheader("X-WindowsPhone-Target", "toast") + webservice.putheader("Content-length", "%d" % len(request)) + webservice.endheaders() + webservice.send(request) + webservice.close() + self.setStorage("LAST_NOTIFY", time.time()) + + + def captchaTask(self, task): + if not self.getConfig("pushId") or not self.getConfig("pushUrl"): + return False + + if self.core.isClientConnected() and not self.getConfig("force"): + return False + + if (time.time() - float(self.getStorage("LAST_NOTIFY", 0))) < self.getConf("pushTimeout"): + return False + + self.doRequest() -- cgit v1.2.3