2 changed files with 101 additions and 16 deletions
@ -0,0 +1,89 @@ |
|||
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' |
|||
|
|||
|
|||
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/RuudBurger/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': '', |
|||
}, |
|||
], |
|||
} |
|||
], |
|||
}] |
Loading…
Reference in new issue