Pushalot notifier for Windows Phone 7/8 and Windows 8
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
from .main import Pushalot
|
||||
|
||||
def start():
|
||||
return Pushalot()
|
||||
|
||||
config = [{
|
||||
'name': 'pushalot',
|
||||
'groups': [
|
||||
{
|
||||
'tab': 'notifications',
|
||||
'list': 'notification_providers',
|
||||
'name': 'pushalot',
|
||||
'description': 'for Windows Phone and Windows 8',
|
||||
'options': [
|
||||
{
|
||||
'name': 'enabled',
|
||||
'default': 0,
|
||||
'type': 'enabler',
|
||||
},
|
||||
{
|
||||
'name': 'auth_token',
|
||||
'label': 'Auth Token',
|
||||
},
|
||||
{
|
||||
'name': 'silent',
|
||||
'label': 'Silent',
|
||||
'default': 0,
|
||||
'type': 'bool',
|
||||
'description': 'Don\'t send Toast notifications. Only update Live Tile',
|
||||
},
|
||||
{
|
||||
'name': 'important',
|
||||
'label': 'High Priority',
|
||||
'default': 0,
|
||||
'type': 'bool',
|
||||
'description': 'Send message with High priority.',
|
||||
},
|
||||
{
|
||||
'name': 'on_snatch',
|
||||
'default': 0,
|
||||
'type': 'bool',
|
||||
'advanced': True,
|
||||
'description': 'Also send message when movie is snatched.',
|
||||
},
|
||||
],
|
||||
}
|
||||
],
|
||||
}]
|
||||
@@ -0,0 +1,37 @@
|
||||
from couchpotato.core.helpers.encoding import toUnicode, tryUrlencode
|
||||
from couchpotato.core.logger import CPLog
|
||||
from couchpotato.core.notifications.base import Notification
|
||||
import traceback
|
||||
|
||||
log = CPLog(__name__)
|
||||
|
||||
class Pushalot(Notification):
|
||||
|
||||
urls = {
|
||||
'api': 'https://pushalot.com/api/sendmessage'
|
||||
}
|
||||
|
||||
def notify(self, message = '', data = {}, listener = None):
|
||||
if self.isDisabled(): return
|
||||
|
||||
data = {
|
||||
'AuthorizationToken': self.conf('auth_token'),
|
||||
'Title': self.default_title,
|
||||
'Body': toUnicode(message),
|
||||
'LinkTitle': toUnicode("CouchPotato"),
|
||||
'link': toUnicode("https://couchpota.to/"),
|
||||
'IsImportant': self.conf('important'),
|
||||
'IsSilent': self.conf('silent'),
|
||||
}
|
||||
|
||||
headers = {
|
||||
'Content-type': 'application/x-www-form-urlencoded'
|
||||
}
|
||||
|
||||
try:
|
||||
self.urlopen(self.urls['api'], headers = headers, params = data, multipart = True, show_error = False)
|
||||
return True
|
||||
except:
|
||||
log.error('PushAlot failed: %s', traceback.format_exc())
|
||||
|
||||
return False
|
||||
Reference in New Issue
Block a user