From 01de35fcf2bccab645d8c15dd70a4dfa7aba001b Mon Sep 17 00:00:00 2001 From: Ruud Date: Tue, 27 Sep 2011 08:41:15 +0200 Subject: [PATCH] Userscript add via url --- couchpotato/core/providers/userscript/base.py | 31 ++++++++++++++++--- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/couchpotato/core/providers/userscript/base.py b/couchpotato/core/providers/userscript/base.py index 8c68070e..5b47e492 100644 --- a/couchpotato/core/providers/userscript/base.py +++ b/couchpotato/core/providers/userscript/base.py @@ -1,6 +1,9 @@ -from couchpotato.core.event import addEvent +from couchpotato.api import addApiView +from couchpotato.core.event import addEvent, fireEvent +from couchpotato.core.helpers.request import getParam from couchpotato.core.logger import CPLog from couchpotato.core.plugins.base import Plugin +from urlparse import urlparse log = CPLog(__name__) @@ -13,14 +16,34 @@ class UserscriptBase(Plugin): excludes = [] def __init__(self): - addEvent('userscript.add_via_url', self.addViaUrl) addEvent('userscript.get_includes', self.getInclude) addEvent('userscript.get_excludes', self.getExclude) - addEvent('userscript.get_version', self.getVersion) + addApiView('userscript.add_via_url', self.addViaUrl) + + def search(self, name, year = None): + + movie = fireEvent('movie.search', q = '%s %s' % (name, year), limit = 1) + + return movie + def addViaUrl(self): - pass + + url = getParam('url') + host = urlparse(url).hostname + + # Check if the url matches the provider + is_provider = False + for include in self.includes: + if host in include: + is_provider = True + break + if not is_provider: + return False + + + fireEvent() def getInclude(self): return self.includes