summaryrefslogtreecommitdiffstats
path: root/pyload/plugins/addons
diff options
context:
space:
mode:
authorGravatar Stefano <l.stickell@yahoo.it> 2013-08-23 11:36:57 +0200
committerGravatar Stefano <l.stickell@yahoo.it> 2013-08-23 11:36:57 +0200
commit66a3983c9e7ae45cbb6609b79d0d952e8ced34b7 (patch)
tree04f6fcba6c89d6193358c590a8b2744c4ea9a97a /pyload/plugins/addons
parentRyushare: code cleanu+ test link (diff)
downloadpyload-66a3983c9e7ae45cbb6609b79d0d952e8ced34b7.tar.xz
Moved new plugin to pyload addons
Diffstat (limited to 'pyload/plugins/addons')
-rw-r--r--pyload/plugins/addons/WindowsPhoneToastNotify.py64
1 files changed, 64 insertions, 0 deletions
diff --git a/pyload/plugins/addons/WindowsPhoneToastNotify.py b/pyload/plugins/addons/WindowsPhoneToastNotify.py
new file mode 100644
index 000000000..c9a84982f
--- /dev/null
+++ b/pyload/plugins/addons/WindowsPhoneToastNotify.py
@@ -0,0 +1,64 @@
+# -*- coding: utf-8 -*-
+"""
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License,
+ or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, see <http://www.gnu.org/licenses/>.
+
+ @author: RaNaN, Godofdream, zoidberg
+"""
+import sys, httplib
+from module.plugins.Hook import Hook
+
+class WindowsPhoneToastNotify(Hook):
+ __name__ = "WindowsPhoneToastNotify"
+ __version__ = "0.01"
+ __description__ = """Send push notifications to Windows Phone."""
+ __author_name__ = ("Andy Voigt")
+ __author_mail__ = ("phone-support@hotmail.de")
+ __config__ = [("activated", "bool", "Activated", False),
+ ("force", "bool", "Force even if client is connected", False),
+ ("pushId", "pId", "pushId", ""),
+ ("pushUrl","pUrl","pushUrl", "")]
+
+ def setup(self):
+ self.info = {}
+
+ def getXmlData(self):
+ myxml = "<?xml version='1.0' encoding='utf-8'?> <wp:Notification xmlns:wp='WPNotification'> <wp:Toast>
+<wp:Text1>Pyload Mobile</wp:Text1> <wp:Text2>Captcha waiting!</wp:Text2> </wp:Toast> </wp:Notification>"
+ 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)
+ #statuscode, statusmessage, header = webservice.getreply()
+ #result = webservice.getfile().read()
+ webservice.close()
+
+ def newCaptchaTask(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
+
+ self.doRequest()
+