Refactor downloaders and pages
This commit is contained in:
@@ -49,10 +49,8 @@ class ClientScript(Plugin):
|
|||||||
'scripts/block/footer.js',
|
'scripts/block/footer.js',
|
||||||
'scripts/block/menu.js',
|
'scripts/block/menu.js',
|
||||||
'scripts/page/home.js',
|
'scripts/page/home.js',
|
||||||
'scripts/page/wanted.js',
|
|
||||||
'scripts/page/settings.js',
|
'scripts/page/settings.js',
|
||||||
'scripts/page/about.js',
|
'scripts/page/about.js',
|
||||||
'scripts/page/manage.js',
|
|
||||||
'scripts/misc/downloaders.js',
|
'scripts/misc/downloaders.js',
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
from .main import Downloader
|
||||||
|
|
||||||
|
|
||||||
|
def autoload():
|
||||||
|
return Downloader()
|
||||||
|
|
||||||
|
|
||||||
|
config = [{
|
||||||
|
'name': 'download_providers',
|
||||||
|
'groups': [
|
||||||
|
{
|
||||||
|
'label': 'Downloaders',
|
||||||
|
'description': 'You can select different downloaders for each type (usenet / torrent)',
|
||||||
|
'type': 'list',
|
||||||
|
'name': 'download_providers',
|
||||||
|
'tab': 'downloaders',
|
||||||
|
'options': [],
|
||||||
|
},
|
||||||
|
],
|
||||||
|
}]
|
||||||
@@ -7,12 +7,18 @@ from couchpotato.core.event import addEvent
|
|||||||
from couchpotato.core.helpers.variable import mergeDicts
|
from couchpotato.core.helpers.variable import mergeDicts
|
||||||
from couchpotato.core.logger import CPLog
|
from couchpotato.core.logger import CPLog
|
||||||
from couchpotato.core.media._base.providers.base import Provider
|
from couchpotato.core.media._base.providers.base import Provider
|
||||||
|
from couchpotato.core.plugins.base import Plugin
|
||||||
|
|
||||||
|
|
||||||
log = CPLog(__name__)
|
log = CPLog(__name__)
|
||||||
|
|
||||||
|
|
||||||
class Downloader(Provider):
|
## This is here to load the static files
|
||||||
|
class Downloader(Plugin):
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
|
class DownloaderBase(Provider):
|
||||||
|
|
||||||
protocol = []
|
protocol = []
|
||||||
http_time_between_calls = 0
|
http_time_between_calls = 0
|
||||||
+2
-2
@@ -6,7 +6,7 @@ var DownloadersBase = new Class({
|
|||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
// Add test buttons to settings page
|
// Add test buttons to settings page
|
||||||
App.addEvent('load', self.addTestButtons.bind(self));
|
App.addEvent('loadSettings', self.addTestButtons.bind(self));
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -72,4 +72,4 @@ var DownloadersBase = new Class({
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
window.Downloaders = new DownloadersBase();
|
var Downloaders = new DownloadersBase();
|
||||||
@@ -1,13 +0,0 @@
|
|||||||
config = [{
|
|
||||||
'name': 'download_providers',
|
|
||||||
'groups': [
|
|
||||||
{
|
|
||||||
'label': 'Downloaders',
|
|
||||||
'description': 'You can select different downloaders for each type (usenet / torrent)',
|
|
||||||
'type': 'list',
|
|
||||||
'name': 'download_providers',
|
|
||||||
'tab': 'downloaders',
|
|
||||||
'options': [],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
}]
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ from __future__ import with_statement
|
|||||||
import os
|
import os
|
||||||
import traceback
|
import traceback
|
||||||
|
|
||||||
from couchpotato.core.downloaders.base import Downloader
|
from couchpotato.core._base.downloader.main import DownloaderBase
|
||||||
from couchpotato.core.helpers.encoding import sp
|
from couchpotato.core.helpers.encoding import sp
|
||||||
from couchpotato.core.helpers.variable import getDownloadDir
|
from couchpotato.core.helpers.variable import getDownloadDir
|
||||||
from couchpotato.core.logger import CPLog
|
from couchpotato.core.logger import CPLog
|
||||||
@@ -14,7 +14,7 @@ log = CPLog(__name__)
|
|||||||
autoload = 'Blackhole'
|
autoload = 'Blackhole'
|
||||||
|
|
||||||
|
|
||||||
class Blackhole(Downloader):
|
class Blackhole(DownloaderBase):
|
||||||
|
|
||||||
protocol = ['nzb', 'torrent', 'torrent_magnet']
|
protocol = ['nzb', 'torrent', 'torrent_magnet']
|
||||||
status_support = False
|
status_support = False
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import re
|
|||||||
import traceback
|
import traceback
|
||||||
|
|
||||||
from bencode import bencode as benc, bdecode
|
from bencode import bencode as benc, bdecode
|
||||||
from couchpotato.core.downloaders.base import Downloader, ReleaseDownloadList
|
from couchpotato.core._base.downloader.main import DownloaderBase, ReleaseDownloadList
|
||||||
from couchpotato.core.helpers.encoding import isInt, sp
|
from couchpotato.core.helpers.encoding import isInt, sp
|
||||||
from couchpotato.core.helpers.variable import tryFloat, cleanHost
|
from couchpotato.core.helpers.variable import tryFloat, cleanHost
|
||||||
from couchpotato.core.logger import CPLog
|
from couchpotato.core.logger import CPLog
|
||||||
@@ -18,7 +18,7 @@ log = CPLog(__name__)
|
|||||||
autoload = 'Deluge'
|
autoload = 'Deluge'
|
||||||
|
|
||||||
|
|
||||||
class Deluge(Downloader):
|
class Deluge(DownloaderBase):
|
||||||
|
|
||||||
protocol = ['torrent', 'torrent_magnet']
|
protocol = ['torrent', 'torrent_magnet']
|
||||||
log = CPLog(__name__)
|
log = CPLog(__name__)
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import socket
|
|||||||
import traceback
|
import traceback
|
||||||
import xmlrpclib
|
import xmlrpclib
|
||||||
|
|
||||||
from couchpotato.core.downloaders.base import Downloader, ReleaseDownloadList
|
from couchpotato.core._base.downloader.main import DownloaderBase, ReleaseDownloadList
|
||||||
from couchpotato.core.helpers.encoding import ss, sp
|
from couchpotato.core.helpers.encoding import ss, sp
|
||||||
from couchpotato.core.helpers.variable import tryInt, md5, cleanHost
|
from couchpotato.core.helpers.variable import tryInt, md5, cleanHost
|
||||||
from couchpotato.core.logger import CPLog
|
from couchpotato.core.logger import CPLog
|
||||||
@@ -17,7 +17,7 @@ log = CPLog(__name__)
|
|||||||
autoload = 'NZBGet'
|
autoload = 'NZBGet'
|
||||||
|
|
||||||
|
|
||||||
class NZBGet(Downloader):
|
class NZBGet(DownloaderBase):
|
||||||
|
|
||||||
protocol = ['nzb']
|
protocol = ['nzb']
|
||||||
rpc = 'xmlrpc'
|
rpc = 'xmlrpc'
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import time
|
|||||||
import traceback
|
import traceback
|
||||||
import urllib2
|
import urllib2
|
||||||
|
|
||||||
from couchpotato.core.downloaders.base import Downloader, ReleaseDownloadList
|
from couchpotato.core._base.downloader.main import DownloaderBase, ReleaseDownloadList
|
||||||
from couchpotato.core.helpers.encoding import tryUrlencode, sp
|
from couchpotato.core.helpers.encoding import tryUrlencode, sp
|
||||||
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
|
||||||
@@ -23,7 +23,7 @@ log = CPLog(__name__)
|
|||||||
autoload = 'NZBVortex'
|
autoload = 'NZBVortex'
|
||||||
|
|
||||||
|
|
||||||
class NZBVortex(Downloader):
|
class NZBVortex(DownloaderBase):
|
||||||
|
|
||||||
protocol = ['nzb']
|
protocol = ['nzb']
|
||||||
api_level = None
|
api_level = None
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ from __future__ import with_statement
|
|||||||
import os
|
import os
|
||||||
import traceback
|
import traceback
|
||||||
|
|
||||||
from couchpotato.core.downloaders.base import Downloader
|
from couchpotato.core._base.downloader.main import DownloaderBase
|
||||||
from couchpotato.core.helpers.encoding import sp
|
from couchpotato.core.helpers.encoding import sp
|
||||||
from couchpotato.core.logger import CPLog
|
from couchpotato.core.logger import CPLog
|
||||||
|
|
||||||
@@ -12,7 +12,7 @@ log = CPLog(__name__)
|
|||||||
autoload = 'Pneumatic'
|
autoload = 'Pneumatic'
|
||||||
|
|
||||||
|
|
||||||
class Pneumatic(Downloader):
|
class Pneumatic(DownloaderBase):
|
||||||
|
|
||||||
protocol = ['nzb']
|
protocol = ['nzb']
|
||||||
strm_syntax = 'plugin://plugin.program.pneumatic/?mode=strm&type=add_file&nzb=%s&nzbname=%s'
|
strm_syntax = 'plugin://plugin.program.pneumatic/?mode=strm&type=add_file&nzb=%s&nzbname=%s'
|
||||||
|
|||||||
@@ -1,21 +1,21 @@
|
|||||||
from base64 import b16encode, b32decode
|
from base64 import b16encode, b32decode
|
||||||
from bencode import bencode, bdecode
|
|
||||||
from hashlib import sha1
|
from hashlib import sha1
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from couchpotato.core.downloaders.base import Downloader, ReleaseDownloadList
|
from bencode import bencode, bdecode
|
||||||
|
from couchpotato.core._base.downloader.main import DownloaderBase, ReleaseDownloadList
|
||||||
from couchpotato.core.helpers.encoding import sp
|
from couchpotato.core.helpers.encoding import sp
|
||||||
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 qbittorrent.client import QBittorrentClient
|
from qbittorrent.client import QBittorrentClient
|
||||||
|
|
||||||
|
|
||||||
log = CPLog(__name__)
|
log = CPLog(__name__)
|
||||||
|
|
||||||
autoload = 'qBittorrent'
|
autoload = 'qBittorrent'
|
||||||
|
|
||||||
|
|
||||||
class qBittorrent(Downloader):
|
class qBittorrent(DownloaderBase):
|
||||||
|
|
||||||
protocol = ['torrent', 'torrent_magnet']
|
protocol = ['torrent', 'torrent_magnet']
|
||||||
qb = None
|
qb = None
|
||||||
|
|||||||
@@ -4,14 +4,14 @@ from hashlib import sha1
|
|||||||
from urlparse import urlparse
|
from urlparse import urlparse
|
||||||
import os
|
import os
|
||||||
|
|
||||||
from couchpotato.core.downloaders.base import Downloader, ReleaseDownloadList
|
from couchpotato.core._base.downloader.main import DownloaderBase, ReleaseDownloadList
|
||||||
|
|
||||||
from couchpotato.core.event import addEvent
|
from couchpotato.core.event import addEvent
|
||||||
from couchpotato.core.helpers.encoding import sp
|
from couchpotato.core.helpers.encoding import sp
|
||||||
from couchpotato.core.helpers.variable import cleanHost, splitString
|
from couchpotato.core.helpers.variable import cleanHost, splitString
|
||||||
from couchpotato.core.logger import CPLog
|
from couchpotato.core.logger import CPLog
|
||||||
from bencode import bencode, bdecode
|
from bencode import bencode, bdecode
|
||||||
from rtorrent import RTorrent
|
from rtorrent import RTorrent
|
||||||
from rtorrent.err import MethodError
|
|
||||||
from scandir import scandir
|
from scandir import scandir
|
||||||
|
|
||||||
|
|
||||||
@@ -20,7 +20,7 @@ log = CPLog(__name__)
|
|||||||
autoload = 'rTorrent'
|
autoload = 'rTorrent'
|
||||||
|
|
||||||
|
|
||||||
class rTorrent(Downloader):
|
class rTorrent(DownloaderBase):
|
||||||
|
|
||||||
protocol = ['torrent', 'torrent_magnet']
|
protocol = ['torrent', 'torrent_magnet']
|
||||||
rt = None
|
rt = None
|
||||||
|
|||||||
@@ -4,7 +4,7 @@ import json
|
|||||||
import os
|
import os
|
||||||
import traceback
|
import traceback
|
||||||
|
|
||||||
from couchpotato.core.downloaders.base import Downloader, ReleaseDownloadList
|
from couchpotato.core._base.downloader.main import DownloaderBase, ReleaseDownloadList
|
||||||
from couchpotato.core.helpers.encoding import tryUrlencode, ss, sp
|
from couchpotato.core.helpers.encoding import tryUrlencode, ss, sp
|
||||||
from couchpotato.core.helpers.variable import cleanHost, mergeDicts
|
from couchpotato.core.helpers.variable import cleanHost, mergeDicts
|
||||||
from couchpotato.core.logger import CPLog
|
from couchpotato.core.logger import CPLog
|
||||||
@@ -16,7 +16,7 @@ log = CPLog(__name__)
|
|||||||
autoload = 'Sabnzbd'
|
autoload = 'Sabnzbd'
|
||||||
|
|
||||||
|
|
||||||
class Sabnzbd(Downloader):
|
class Sabnzbd(DownloaderBase):
|
||||||
|
|
||||||
protocol = ['nzb']
|
protocol = ['nzb']
|
||||||
|
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import json
|
import json
|
||||||
import traceback
|
import traceback
|
||||||
|
|
||||||
from couchpotato.core.downloaders.base import Downloader
|
from couchpotato.core._base.downloader.main import DownloaderBase
|
||||||
from couchpotato.core.helpers.encoding import isInt
|
from couchpotato.core.helpers.encoding import isInt
|
||||||
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
|
||||||
@@ -13,7 +13,7 @@ log = CPLog(__name__)
|
|||||||
autoload = 'Synology'
|
autoload = 'Synology'
|
||||||
|
|
||||||
|
|
||||||
class Synology(Downloader):
|
class Synology(DownloaderBase):
|
||||||
|
|
||||||
protocol = ['nzb', 'torrent', 'torrent_magnet']
|
protocol = ['nzb', 'torrent', 'torrent_magnet']
|
||||||
status_support = False
|
status_support = False
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ import os.path
|
|||||||
import re
|
import re
|
||||||
import urllib2
|
import urllib2
|
||||||
|
|
||||||
from couchpotato.core.downloaders.base import Downloader, ReleaseDownloadList
|
from couchpotato.core._base.downloader.main import DownloaderBase, ReleaseDownloadList
|
||||||
from couchpotato.core.helpers.encoding import isInt, sp
|
from couchpotato.core.helpers.encoding import isInt, sp
|
||||||
from couchpotato.core.helpers.variable import tryInt, tryFloat, cleanHost
|
from couchpotato.core.helpers.variable import tryInt, tryFloat, cleanHost
|
||||||
from couchpotato.core.logger import CPLog
|
from couchpotato.core.logger import CPLog
|
||||||
@@ -17,7 +17,7 @@ log = CPLog(__name__)
|
|||||||
autoload = 'Transmission'
|
autoload = 'Transmission'
|
||||||
|
|
||||||
|
|
||||||
class Transmission(Downloader):
|
class Transmission(DownloaderBase):
|
||||||
|
|
||||||
protocol = ['torrent', 'torrent_magnet']
|
protocol = ['torrent', 'torrent_magnet']
|
||||||
log = CPLog(__name__)
|
log = CPLog(__name__)
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ import urllib
|
|||||||
import urllib2
|
import urllib2
|
||||||
|
|
||||||
from bencode import bencode as benc, bdecode
|
from bencode import bencode as benc, bdecode
|
||||||
from couchpotato.core.downloaders.base import Downloader, ReleaseDownloadList
|
from couchpotato.core._base.downloader.main import DownloaderBase, ReleaseDownloadList
|
||||||
from couchpotato.core.helpers.encoding import isInt, ss, sp
|
from couchpotato.core.helpers.encoding import isInt, ss, sp
|
||||||
from couchpotato.core.helpers.variable import tryInt, tryFloat, cleanHost
|
from couchpotato.core.helpers.variable import tryInt, tryFloat, cleanHost
|
||||||
from couchpotato.core.logger import CPLog
|
from couchpotato.core.logger import CPLog
|
||||||
@@ -24,7 +24,7 @@ log = CPLog(__name__)
|
|||||||
autoload = 'uTorrent'
|
autoload = 'uTorrent'
|
||||||
|
|
||||||
|
|
||||||
class uTorrent(Downloader):
|
class uTorrent(DownloaderBase):
|
||||||
|
|
||||||
protocol = ['torrent', 'torrent_magnet']
|
protocol = ['torrent', 'torrent_magnet']
|
||||||
utorrent_api = None
|
utorrent_api = None
|
||||||
|
|||||||
@@ -14,7 +14,7 @@ var NotificationBase = new Class({
|
|||||||
App.on('message', self.showMessage.bind(self));
|
App.on('message', self.showMessage.bind(self));
|
||||||
|
|
||||||
// Add test buttons to settings page
|
// Add test buttons to settings page
|
||||||
App.addEvent('load', self.addTestButtons.bind(self));
|
App.addEvent('loadSettings', self.addTestButtons.bind(self));
|
||||||
|
|
||||||
// Notification bar
|
// Notification bar
|
||||||
self.notifications = [];
|
self.notifications = [];
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ var TwitterNotification = new Class({
|
|||||||
|
|
||||||
initialize: function(){
|
initialize: function(){
|
||||||
var self = this;
|
var self = this;
|
||||||
App.addEvent('load', self.addRegisterButton.bind(self));
|
App.addEvent('loadSettings', self.addRegisterButton.bind(self));
|
||||||
},
|
},
|
||||||
|
|
||||||
addRegisterButton: function(){
|
addRegisterButton: function(){
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ var CategoryListBase = new Class({
|
|||||||
initialize: function(){
|
initialize: function(){
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
App.addEvent('load', self.addSettings.bind(self));
|
App.addEvent('loadSettings', self.addSettings.bind(self));
|
||||||
},
|
},
|
||||||
|
|
||||||
setup: function(categories){
|
setup: function(categories){
|
||||||
|
|||||||
@@ -11,7 +11,7 @@ var QualityBase = new Class({
|
|||||||
self.profiles = [];
|
self.profiles = [];
|
||||||
Array.each(data.profiles, self.createProfilesClass.bind(self));
|
Array.each(data.profiles, self.createProfilesClass.bind(self));
|
||||||
|
|
||||||
App.addEvent('load', self.addSettings.bind(self))
|
App.addEvent('loadSettings', self.addSettings.bind(self))
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -53,7 +53,7 @@ var UserscriptSettingTab = new Class({
|
|||||||
initialize: function(){
|
initialize: function(){
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
App.addEvent('load', self.addSettings.bind(self))
|
App.addEvent('loadSettings', self.addSettings.bind(self))
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|||||||
@@ -141,6 +141,8 @@
|
|||||||
var pg = new Page[class_name](self, {});
|
var pg = new Page[class_name](self, {});
|
||||||
self.pages[class_name] = pg;
|
self.pages[class_name] = pg;
|
||||||
|
|
||||||
|
self.fireEvent('load'+class_name);
|
||||||
|
|
||||||
$(pg).inject(self.content);
|
$(pg).inject(self.content);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,7 @@ var AboutSettingTab = new Class({
|
|||||||
initialize: function(){
|
initialize: function(){
|
||||||
var self = this;
|
var self = this;
|
||||||
|
|
||||||
App.addEvent('load', self.addSettings.bind(self))
|
App.addEvent('loadSettings', self.addSettings.bind(self))
|
||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
@@ -124,4 +124,4 @@ var AboutSettingTab = new Class({
|
|||||||
|
|
||||||
window.addEvent('domready', function(){
|
window.addEvent('domready', function(){
|
||||||
new AboutSettingTab();
|
new AboutSettingTab();
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user