Notify plex and use default ports. fix #392
This commit is contained in:
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,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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
|
||||||
Reference in new issue
Block a user