Userscript

This commit is contained in:
Ruud committed 2011-09-28 09:17:34 +02:00
1 parent c6f322a2c2
commit f09572b662
5 files changed
+41 -67

No files matched your search

+6
View File
@@ -4,6 +4,7 @@ from couchpotato.core.helpers.variable import getExt
from couchpotato.core.logger import CPLog
from couchpotato.environment import Env
from flask.helpers import send_from_directory
from flask.templating import render_template_string
from libs.multipartpost import MultipartPostHandler
from urlparse import urlparse
import cookielib
@@ -40,6 +41,11 @@ class Plugin(object):
def getName(self):
return self.__class__.__name__
def renderTemplate(self, parent_file, template, **params):
template = open(os.path.join(os.path.dirname(parent_file), template), 'r').read()
return render_template_string(template, **params)
def registerStatic(self, plugin_file, add_to_head = True):
# Register plugin path
+23 -5
View File
@@ -1,10 +1,13 @@
from couchpotato.api import addApiView
from couchpotato.core.event import fireEvent
from couchpotato.core.helpers.request import getParam, jsonified
from couchpotato.core.helpers.variable import isDict
from couchpotato.core.logger import CPLog
from couchpotato.core.plugins.base import Plugin
from flask.globals import request
from flask.helpers import url_for
from flask.templating import render_template_string
import os
log = CPLog(__name__)
class Extension(Plugin):
@@ -12,17 +15,18 @@ class Extension(Plugin):
def __init__(self):
addApiView('userscript', self.getExtension)
addApiView('userscript.add_via_url', self.addViaUrl)
def getExtension(self):
params = {
'includes': fireEvent('userscript.get_includes', merge = True),
'excludes': fireEvent('userscript.get_excludes', merge = True),
'version': self.getVersion(),
'host': '%s%userscript.add_via_url/' % (request.host_url.rstrip('/'), url_for('api.index')),
'host': '%s%suserscript.add_via_url/' % (request.host_url.rstrip('/'), url_for('api.index')),
}
template = open(os.path.join(os.path.dirname(__file__), 'template.js'), 'r').read()
return render_template_string(template, **params)
return self.renderTemplate(__file__, 'template.js', **params)
def getVersion(self):
@@ -33,3 +37,17 @@ class Extension(Plugin):
version += v
return version
def addViaUrl(self):
url = getParam('url')
params = {
'url': url,
'movie': fireEvent('userscript.get_movie_via_url', url = url, single = True)
}
if not isDict(params['movie']):
log.error('Failed adding movie via url: %s' % url)
params['error'] = params['movie'] if params['movie'] else 'Failed getting movie info'
return self.renderTemplate(__file__, 'template.js', **params)