Notify plex and use default ports. fix #392

This commit is contained in:
Ruud committed 2012-06-11 10:52:28 +02:00
1 parent dce5107606
commit 9cb4d8842c
2 files changed
+29 -3

No files matched your search

@@ -17,8 +17,9 @@ config = [{
}, },
{ {
'name': 'host', 'name': 'host',
'default': 'localhost:32400', 'default': 'localhost',
'description': 'Default should be on localhost:32400', 'description': 'Default should be on localhost',
'advanced': True,
}, },
], ],
} }
+26 -1
View File
@@ -1,4 +1,5 @@
from couchpotato.core.event import addEvent from couchpotato.core.event import addEvent
from couchpotato.core.helpers.encoding import tryUrlencode
from couchpotato.core.helpers.variable import cleanHost from couchpotato.core.helpers.variable import cleanHost
from couchpotato.core.logger import CPLog from couchpotato.core.logger import CPLog
from couchpotato.core.notifications.base import Notification from couchpotato.core.notifications.base import Notification
@@ -11,13 +12,14 @@ log = CPLog(__name__)
class Plex(Notification): class Plex(Notification):
def __init__(self): def __init__(self):
super(Plex, self).__init__()
addEvent('renamer.after', self.addToLibrary) addEvent('renamer.after', self.addToLibrary)
def addToLibrary(self, group = {}): def addToLibrary(self, group = {}):
if self.isDisabled(): return if self.isDisabled(): return
log.info('Sending notification to Plex') log.info('Sending notification to Plex')
hosts = [cleanHost(x.strip()) for x in self.conf('host').split(",")] hosts = [cleanHost(x.strip() + ':32400') for x in self.conf('host').split(",")]
for host in hosts: for host in hosts:
@@ -40,3 +42,26 @@ class Plex(Notification):
return False return False
return True return True
def notify(self, message = '', data = {}, listener = None):
if self.isDisabled(): return
for host in [x.strip() + ':3000' for x in self.conf('host').split(",")]:
self.send({'command': 'ExecBuiltIn', 'parameter': 'Notification(CouchPotato, %s)' % message}, host)
return True
def send(self, command, host):
url = 'http://%s/xbmcCmds/xbmcHttp/?%s' % (host, tryUrlencode(command))
headers = {}
try:
self.urlopen(url, headers = headers, show_error = False)
except:
log.error("Couldn't sent command to Plex")
return False
log.info('Plex notification to %s successful.' % host)
return True