Userscript fixes

This commit is contained in:
Ruud
2011-09-26 23:19:08 +02:00
parent c9a5752be2
commit ff9a5971c4
4 changed files with 24 additions and 22 deletions
+1
View File
@@ -29,6 +29,7 @@ class Loader:
'trailer_provider' : (20, 'couchpotato.core.providers.trailer', os.path.join(providers, 'trailer')), 'trailer_provider' : (20, 'couchpotato.core.providers.trailer', os.path.join(providers, 'trailer')),
'subtitle_provider' : (20, 'couchpotato.core.providers.subtitle', os.path.join(providers, 'subtitle')), 'subtitle_provider' : (20, 'couchpotato.core.providers.subtitle', os.path.join(providers, 'subtitle')),
'metadata_provider' : (25, 'couchpotato.core.providers.metadata', os.path.join(providers, 'metadata')), 'metadata_provider' : (25, 'couchpotato.core.providers.metadata', os.path.join(providers, 'metadata')),
'extension_provider' : (25, 'couchpotato.core.providers.extension', os.path.join(providers, 'extension')),
} }
for type, tuple in self.paths.iteritems(): for type, tuple in self.paths.iteritems():
+9 -6
View File
@@ -1,25 +1,28 @@
from couchpotato.api import addApiView from couchpotato.api import addApiView
from couchpotato.core.event import fireEvent from couchpotato.core.event import fireEvent
from couchpotato.core.plugins.base import Plugin from couchpotato.core.plugins.base import Plugin
from flask.globals import request
from flask.helpers import url_for from flask.helpers import url_for
from flask.templating import render_template from flask.templating import render_template_string
import os
class Extension(Plugin): class Extension(Plugin):
def __init__(self): def __init__(self):
addApiView('extension.user.js', self.getExtension) addApiView('extension', self.getExtension)
def getExtension(self): def getExtension(self):
params = { params = {
'includes': fireEvent('extension.get_includes', single = True), 'includes': fireEvent('extension.get_includes', merge = True),
'excludes': fireEvent('extension.get_includes', single = True), 'excludes': fireEvent('extension.get_excludes', merge = True),
'version': self.getVersion(), 'version': self.getVersion(),
'host': '%s/extension.add_via_url' % url_for('api.index'), 'host': '%s%sextension.add_via_url/' % (request.host_url.rstrip('/'), url_for('api.index')),
} }
return render_template('template.js', **params) template = open(os.path.join(os.path.dirname(__file__), 'template.js'), 'r').read()
return render_template_string(template, **params)
def getVersion(self): def getVersion(self):
+13 -15
View File
@@ -1,16 +1,14 @@
// ==UserScript== // ==UserScript==
// @name CouchPotato UserScript // @name CouchPotato UserScript
// @description Add movies to your CouchPotato via external sites // @description Add movies like a real CouchPotato
{% for include in includes %} {% for include in includes %}
// @include {{include}} // @include {{include}}{% endfor %}
{% endfor %}
{% for exclude in excludes %} {% for exclude in excludes %}
// @exclude {{exclude}} // @exclude {{exclude}}{% endfor %}
{% endfor %}
// ==/UserScript== // ==/UserScript==
var version = '{{version}}'; var version = {{version}},
var cpLocation = '{{host}}'; cpLocation = '{{host}}';
function create() { function create() {
switch (arguments.length) { switch (arguments.length) {
@@ -41,7 +39,7 @@ function create() {
if (typeof GM_addStyle == 'undefined'){ if (typeof GM_addStyle == 'undefined'){
GM_addStyle = function(css) { GM_addStyle = function(css) {
var head = document.getElementsByTagName('head')[0], var head = document.getElementsByTagName('head')[0],
style = document.createElement('style'); style = document.createElement('style');
if (!head) if (!head)
return; return;
@@ -69,17 +67,17 @@ var osd = function(){
var navbar, newElement; var navbar, newElement;
var iFrame = create('iframe', { var iFrame = create('iframe', {
'src': cpLocation + "extension.add_via_url/?url=" + escape(document.location), 'src': cpLocation + "extension.add_via_url/?url=" + escape(document.location),
'frameborder': 0, 'frameborder': 0,
'scrolling': 'no' 'scrolling': 'no'
}); });
var addToText = '<a class="addTo" href="#"></a>'; var addToText = '<a class="addTo" href="#"></a>';
var popupId = 'cpPopup'; var popupId = 'cpPopup';
var popup = create('div', { var popup = create('div', {
'id': popupId, 'id': popupId,
'innerHTML': addToText 'innerHTML': addToText
}); });
var addButton = create('a', { var addButton = create('a', {
'innerHTML': '<img src="' + movieImg + '" />Add to CouchPotato', 'innerHTML': '<img src="' + movieImg + '" />Add to CouchPotato',
@@ -94,8 +92,8 @@ var osd = function(){
popup.appendChild(addButton); popup.appendChild(addButton);
} }
})); }));
popup.appendChild(iFrame) popup.appendChild(iFrame)
} }
}); });
popup.appendChild(addButton); popup.appendChild(addButton);
@@ -4,7 +4,7 @@ from couchpotato.core.providers.extension.base import ExtensionBase
class Trakt(ExtensionBase): class Trakt(ExtensionBase):
includes = ['http://trakt.tv/movie/*', 'http://*.trakt.tv/movie/*'] includes = ['http://trakt.tv/movie/*', 'http://*.trakt.tv/movie/*']
included = ['http://trakt.tv/movie/*/*', 'http://*.trakt.tv/movie/*/*'] excludes = ['http://trakt.tv/movie/*/*', 'http://*.trakt.tv/movie/*/*']
#CouchPotato['trakt.tv'] = (function(){ #CouchPotato['trakt.tv'] = (function(){
# #