Source code for couchpotato.core.notifications.emby

import json
import urllib, urllib2

from couchpotato.core.helpers.variable import cleanHost
from couchpotato.core.logger import CPLog
from couchpotato.core.notifications.base import Notification


log = CPLog(__name__)

autoload = 'Emby'


[docs]class Emby(Notification):
def notify(self, message = '', data = None, listener = None): host = self.conf('host') apikey = self.conf('apikey') host = cleanHost(host) url = '%semby/Library/Series/Updated' % (host) values = {} data = urllib.urlencode(values) try: req = urllib2.Request(url, data) req.add_header('X-MediaBrowser-Token', apikey) response = urllib2.urlopen(req) result = response.read() response.close() return True except (urllib2.URLError, IOError), e: return False def test(self, **kwargs): host = self.conf('host') apikey = self.conf('apikey') message = self.test_message host = cleanHost(host) url = '%semby/Notifications/Admin' % (host) values = {'Name': 'CouchPotato', 'Description': message, 'ImageUrl': 'https://raw.githubusercontent.com/CouchPotato/CouchPotatoServer/master/couchpotato/static/images/notify.couch.small.png'} data = json.dumps(values) try: req = urllib2.Request(url, data) req.add_header('X-MediaBrowser-Token', apikey) req.add_header('Content-Type', 'application/json') response = urllib2.urlopen(req) result = response.read() response.close() return { 'success': True } except (urllib2.URLError, IOError), e: return False config = [{ 'name': 'emby', 'groups': [ { 'tab': 'notifications', 'list': 'notification_providers', 'name': 'emby', 'options': [ { 'name': 'enabled', 'default': 0, 'type': 'enabler', }, { 'name': 'host', 'default': 'localhost:8096', 'description': 'IP:Port, default localhost:8096' }, { 'name': 'apikey', 'label': 'API Key', 'default': '', }, ], } ], }]