Userscript fixes
This commit is contained in:
@@ -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():
|
||||||
|
|||||||
@@ -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):
|
||||||
|
|
||||||
|
|||||||
@@ -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(){
|
||||||
#
|
#
|
||||||
|
|||||||
Reference in New Issue
Block a user