From 57300575fa97107d172e0c9909b244c8c8ae6c12 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Wed, 17 Dec 2014 20:02:20 +0100 Subject: Extend SimpleHoster in multi-hoster plugins --- module/plugins/hoster/AlldebridCom.py | 74 +++++++++++++++++------------------ 1 file changed, 35 insertions(+), 39 deletions(-) (limited to 'module/plugins/hoster/AlldebridCom.py') diff --git a/module/plugins/hoster/AlldebridCom.py b/module/plugins/hoster/AlldebridCom.py index bdd8ccdff..8a4e31986 100644 --- a/module/plugins/hoster/AlldebridCom.py +++ b/module/plugins/hoster/AlldebridCom.py @@ -6,14 +6,14 @@ from random import randrange from urllib import unquote from module.common.json_layer import json_loads -from module.plugins.Hoster import Hoster +from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo from module.utils import parseFileSize -class AlldebridCom(Hoster): +class AlldebridCom(SimpleHoster): __name__ = "AlldebridCom" __type__ = "hoster" - __version__ = "0.34" + __version__ = "0.35" __pattern__ = r'https?://(?:[^/]*\.)?alldebrid\..*' @@ -33,55 +33,51 @@ class AlldebridCom(Hoster): def setup(self): - self.chunkLimit = 16 + self.chunkLimit = 16 self.resumeDownload = True - def process(self, pyfile): - if re.match(self.__pattern__, pyfile.url): - new_url = pyfile.url - elif not self.account: - self.logError(_("Please enter your %s account or deactivate this plugin") % "AllDebrid") - self.fail(_("No AllDebrid account provided")) - else: - self.logDebug("Old URL: %s" % pyfile.url) - password = self.getPassword().splitlines()[0] or "" + def handleMulti(self): + password = self.getPassword().splitlines()[0] or "" - data = json_loads(self.load("http://www.alldebrid.com/service.php", - get={'link': pyfile.url, 'json': "true", 'pw': password})) + data = json_loads(self.load("http://www.alldebrid.com/service.php", + get={'link': self.pyfile.url, 'json': "true", 'pw': password})) - self.logDebug("Json data", data) + self.logDebug("Json data", data) - if data['error']: - if data['error'] == "This link isn't available on the hoster website.": - self.offline() - else: - self.logWarning(data['error']) - self.tempOffline() + if data['error']: + if data['error'] == "This link isn't available on the hoster website.": + self.offline() else: - if pyfile.name and not pyfile.name.endswith('.tmp'): - pyfile.name = data['filename'] - pyfile.size = parseFileSize(data['filesize']) - new_url = data['link'] + self.logWarning(data['error']) + self.tempOffline() + else: + if self.pyfile.name and not self.pyfile.name.endswith('.tmp'): + self.pyfile.name = data['filename'] + self.pyfile.size = parseFileSize(data['filesize']) + self.link = data['link'] if self.getConfig("https"): - new_url = new_url.replace("http://", "https://") + self.link = self.link.replace("http://", "https://") else: - new_url = new_url.replace("https://", "http://") + self.link = self.link.replace("https://", "http://") - if new_url != pyfile.url: - self.logDebug("New URL: %s" % new_url) + if self.link != self.pyfile.url: + self.logDebug("New URL: %s" % self.link) - if pyfile.name.startswith("http") or pyfile.name.startswith("Unknown"): + if self.pyfile.name.startswith("http") or self.pyfile.name.startswith("Unknown"): #only use when name wasnt already set - pyfile.name = self.getFilename(new_url) + self.pyfile.name = self.getFilename(self.link) + + + def checkFile(self): + check = self.checkDownload({'error': "An error occured while processing your request", + 'empty': re.compile(r"^$")}) - self.download(new_url, disposition=True) + if check == "error": + self.retry(wait_time=60, reason=_("An error occured while generating link")) + elif check == "empty": + self.retry(wait_time=60, reason=_("Downloaded File was empty")) - check = self.checkDownload({'error': "An error occured while processing your request", - 'empty': re.compile(r"^$")}) - if check == "error": - self.retry(wait_time=60, reason=_("An error occured while generating link")) - elif check == "empty": - self.retry(wait_time=60, reason=_("Downloaded File was empty")) +getInfo = create_getInfo(AlldebridCom) -- cgit v1.2.3 From 0860e09f5ff16ee3f097f6f9d444f277a38abd72 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Wed, 17 Dec 2014 23:03:46 +0100 Subject: Extend SimpleHoster in multi-hoster plugins (3) --- module/plugins/hoster/AlldebridCom.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'module/plugins/hoster/AlldebridCom.py') diff --git a/module/plugins/hoster/AlldebridCom.py b/module/plugins/hoster/AlldebridCom.py index 8a4e31986..abcb1e5b1 100644 --- a/module/plugins/hoster/AlldebridCom.py +++ b/module/plugins/hoster/AlldebridCom.py @@ -22,6 +22,9 @@ class AlldebridCom(SimpleHoster): __authors__ = [("Andy Voigt", "spamsales@online.de")] + MULTI_HOSTER = True + + def getFilename(self, url): try: name = unquote(url.rsplit("/", 1)[1]) -- cgit v1.2.3 From 4e9c8f7ab1269966a9eac9e1b6363f5458f9f970 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Thu, 18 Dec 2014 16:07:21 +0100 Subject: Update checkFile routine in some hoster plugins --- module/plugins/hoster/AlldebridCom.py | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'module/plugins/hoster/AlldebridCom.py') diff --git a/module/plugins/hoster/AlldebridCom.py b/module/plugins/hoster/AlldebridCom.py index abcb1e5b1..ff909b596 100644 --- a/module/plugins/hoster/AlldebridCom.py +++ b/module/plugins/hoster/AlldebridCom.py @@ -13,7 +13,7 @@ from module.utils import parseFileSize class AlldebridCom(SimpleHoster): __name__ = "AlldebridCom" __type__ = "hoster" - __version__ = "0.35" + __version__ = "0.36" __pattern__ = r'https?://(?:[^/]*\.)?alldebrid\..*' @@ -73,14 +73,11 @@ class AlldebridCom(SimpleHoster): self.pyfile.name = self.getFilename(self.link) - def checkFile(self): - check = self.checkDownload({'error': "An error occured while processing your request", - 'empty': re.compile(r"^$")}) + def AlldebridCom(self): + super(AlldebridCom, self).checkFile() - if check == "error": + if self.checkDownload({'error': "An error occured while processing your request"}) is "error": self.retry(wait_time=60, reason=_("An error occured while generating link")) - elif check == "empty": - self.retry(wait_time=60, reason=_("Downloaded File was empty")) getInfo = create_getInfo(AlldebridCom) -- cgit v1.2.3 From 02f992336fe279244ac23a779f4c0bfc530d6ec1 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Fri, 19 Dec 2014 23:27:28 +0100 Subject: [AlldebridCom] Syntax fixup --- module/plugins/hoster/AlldebridCom.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/hoster/AlldebridCom.py') diff --git a/module/plugins/hoster/AlldebridCom.py b/module/plugins/hoster/AlldebridCom.py index ff909b596..2f4b8cd73 100644 --- a/module/plugins/hoster/AlldebridCom.py +++ b/module/plugins/hoster/AlldebridCom.py @@ -13,7 +13,7 @@ from module.utils import parseFileSize class AlldebridCom(SimpleHoster): __name__ = "AlldebridCom" __type__ = "hoster" - __version__ = "0.36" + __version__ = "0.37" __pattern__ = r'https?://(?:[^/]*\.)?alldebrid\..*' @@ -41,7 +41,7 @@ class AlldebridCom(SimpleHoster): def handleMulti(self): - password = self.getPassword().splitlines()[0] or "" + password = self.getPassword() data = json_loads(self.load("http://www.alldebrid.com/service.php", get={'link': self.pyfile.url, 'json': "true", 'pw': password})) -- cgit v1.2.3 From 87203e996fb42c172b15e29f0e394d5b328d9ac2 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Tue, 23 Dec 2014 13:20:53 +0100 Subject: New plugin: MultiHoster --- module/plugins/hoster/AlldebridCom.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'module/plugins/hoster/AlldebridCom.py') diff --git a/module/plugins/hoster/AlldebridCom.py b/module/plugins/hoster/AlldebridCom.py index 2f4b8cd73..3cc8e3c75 100644 --- a/module/plugins/hoster/AlldebridCom.py +++ b/module/plugins/hoster/AlldebridCom.py @@ -6,14 +6,14 @@ from random import randrange from urllib import unquote from module.common.json_layer import json_loads -from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo +from module.plugins.internal.MultiHoster import MultiHoster, create_getInfo from module.utils import parseFileSize -class AlldebridCom(SimpleHoster): +class AlldebridCom(MultiHoster): __name__ = "AlldebridCom" __type__ = "hoster" - __version__ = "0.37" + __version__ = "0.38" __pattern__ = r'https?://(?:[^/]*\.)?alldebrid\..*' @@ -22,9 +22,6 @@ class AlldebridCom(SimpleHoster): __authors__ = [("Andy Voigt", "spamsales@online.de")] - MULTI_HOSTER = True - - def getFilename(self, url): try: name = unquote(url.rsplit("/", 1)[1]) -- cgit v1.2.3 From a4786e340993bbfc5d2bf971c9bec18863d3dd80 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Tue, 23 Dec 2014 19:29:15 +0100 Subject: [MultiHoster] Update --- module/plugins/hoster/AlldebridCom.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/hoster/AlldebridCom.py') diff --git a/module/plugins/hoster/AlldebridCom.py b/module/plugins/hoster/AlldebridCom.py index 3cc8e3c75..fdf060330 100644 --- a/module/plugins/hoster/AlldebridCom.py +++ b/module/plugins/hoster/AlldebridCom.py @@ -13,7 +13,7 @@ from module.utils import parseFileSize class AlldebridCom(MultiHoster): __name__ = "AlldebridCom" __type__ = "hoster" - __version__ = "0.38" + __version__ = "0.39" __pattern__ = r'https?://(?:[^/]*\.)?alldebrid\..*' @@ -37,7 +37,7 @@ class AlldebridCom(MultiHoster): self.resumeDownload = True - def handleMulti(self): + def handlePremium(self): password = self.getPassword() data = json_loads(self.load("http://www.alldebrid.com/service.php", -- cgit v1.2.3 From 0fdb441722dbf8b680f38c4d6e95ed2775a72c4b Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Fri, 26 Dec 2014 04:27:02 +0100 Subject: [AlldebridCom] Fix checkFile --- module/plugins/hoster/AlldebridCom.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'module/plugins/hoster/AlldebridCom.py') diff --git a/module/plugins/hoster/AlldebridCom.py b/module/plugins/hoster/AlldebridCom.py index fdf060330..3391f15d4 100644 --- a/module/plugins/hoster/AlldebridCom.py +++ b/module/plugins/hoster/AlldebridCom.py @@ -13,7 +13,7 @@ from module.utils import parseFileSize class AlldebridCom(MultiHoster): __name__ = "AlldebridCom" __type__ = "hoster" - __version__ = "0.39" + __version__ = "0.40" __pattern__ = r'https?://(?:[^/]*\.)?alldebrid\..*' @@ -27,8 +27,10 @@ class AlldebridCom(MultiHoster): name = unquote(url.rsplit("/", 1)[1]) except IndexError: name = "Unknown_Filename..." + if name.endswith("..."): # incomplete filename, append random stuff name += "%s.tmp" % randrange(100, 999) + return name @@ -70,11 +72,11 @@ class AlldebridCom(MultiHoster): self.pyfile.name = self.getFilename(self.link) - def AlldebridCom(self): - super(AlldebridCom, self).checkFile() + def checkFile(self): + super(AlldebridCom, self).checkFile() - if self.checkDownload({'error': "An error occured while processing your request"}) is "error": - self.retry(wait_time=60, reason=_("An error occured while generating link")) + if self.checkDownload({'error': "An error occured while processing your request"}) is "error": + self.retry(wait_time=60, reason=_("An error occured while generating link")) getInfo = create_getInfo(AlldebridCom) -- cgit v1.2.3 From da42bdf16d1c14e5629603ed756b5ed81fa74876 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sat, 27 Dec 2014 13:53:48 +0100 Subject: [AlldebridCom][RealdebridCom] Fix __pattern__ --- module/plugins/hoster/AlldebridCom.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/hoster/AlldebridCom.py') diff --git a/module/plugins/hoster/AlldebridCom.py b/module/plugins/hoster/AlldebridCom.py index 3391f15d4..48dde3ce5 100644 --- a/module/plugins/hoster/AlldebridCom.py +++ b/module/plugins/hoster/AlldebridCom.py @@ -13,9 +13,9 @@ from module.utils import parseFileSize class AlldebridCom(MultiHoster): __name__ = "AlldebridCom" __type__ = "hoster" - __version__ = "0.40" + __version__ = "0.41" - __pattern__ = r'https?://(?:[^/]*\.)?alldebrid\..*' + __pattern__ = r'https?://s\d+\.alldebrid\.com/dl/[\w^_]+' __description__ = """Alldebrid.com hoster plugin""" __license__ = "GPLv3" -- cgit v1.2.3 From 88568cf127542e2757d25705ecfdb2342b7c51b8 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Tue, 30 Dec 2014 19:31:19 +0100 Subject: Update some MultiHoster __pattern__ --- module/plugins/hoster/AlldebridCom.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/hoster/AlldebridCom.py') diff --git a/module/plugins/hoster/AlldebridCom.py b/module/plugins/hoster/AlldebridCom.py index 48dde3ce5..d7dbe31a6 100644 --- a/module/plugins/hoster/AlldebridCom.py +++ b/module/plugins/hoster/AlldebridCom.py @@ -13,9 +13,9 @@ from module.utils import parseFileSize class AlldebridCom(MultiHoster): __name__ = "AlldebridCom" __type__ = "hoster" - __version__ = "0.41" + __version__ = "0.42" - __pattern__ = r'https?://s\d+\.alldebrid\.com/dl/[\w^_]+' + __pattern__ = r'https?://(?:www\.|s\d+\.)?alldebrid\.com/dl/[\w^_]+' __description__ = """Alldebrid.com hoster plugin""" __license__ = "GPLv3" -- cgit v1.2.3 From ea58af3c625d90aec6becfd943289e42e4a71a9a Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Fri, 2 Jan 2015 02:49:26 +0100 Subject: Code cosmetics --- module/plugins/hoster/AlldebridCom.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'module/plugins/hoster/AlldebridCom.py') diff --git a/module/plugins/hoster/AlldebridCom.py b/module/plugins/hoster/AlldebridCom.py index d7dbe31a6..751ff415c 100644 --- a/module/plugins/hoster/AlldebridCom.py +++ b/module/plugins/hoster/AlldebridCom.py @@ -35,8 +35,7 @@ class AlldebridCom(MultiHoster): def setup(self): - self.chunkLimit = 16 - self.resumeDownload = True + self.chunkLimit = 16 def handlePremium(self): -- cgit v1.2.3 From fd105f8e51768ec1943cda2375bdfdbe5b0a3951 Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Fri, 9 Jan 2015 00:35:51 +0100 Subject: "New Year" Update: hoster plugins --- module/plugins/hoster/AlldebridCom.py | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) (limited to 'module/plugins/hoster/AlldebridCom.py') diff --git a/module/plugins/hoster/AlldebridCom.py b/module/plugins/hoster/AlldebridCom.py index 751ff415c..4db32da5d 100644 --- a/module/plugins/hoster/AlldebridCom.py +++ b/module/plugins/hoster/AlldebridCom.py @@ -13,11 +13,11 @@ from module.utils import parseFileSize class AlldebridCom(MultiHoster): __name__ = "AlldebridCom" __type__ = "hoster" - __version__ = "0.42" + __version__ = "0.43" __pattern__ = r'https?://(?:www\.|s\d+\.)?alldebrid\.com/dl/[\w^_]+' - __description__ = """Alldebrid.com hoster plugin""" + __description__ = """Alldebrid.com multi-hoster plugin""" __license__ = "GPLv3" __authors__ = [("Andy Voigt", "spamsales@online.de")] @@ -38,11 +38,11 @@ class AlldebridCom(MultiHoster): self.chunkLimit = 16 - def handlePremium(self): + def handlePremium(self, pyfile): password = self.getPassword() data = json_loads(self.load("http://www.alldebrid.com/service.php", - get={'link': self.pyfile.url, 'json': "true", 'pw': password})) + get={'link': pyfile.url, 'json': "true", 'pw': password})) self.logDebug("Json data", data) @@ -53,9 +53,9 @@ class AlldebridCom(MultiHoster): self.logWarning(data['error']) self.tempOffline() else: - if self.pyfile.name and not self.pyfile.name.endswith('.tmp'): - self.pyfile.name = data['filename'] - self.pyfile.size = parseFileSize(data['filesize']) + if pyfile.name and not pyfile.name.endswith('.tmp'): + pyfile.name = data['filename'] + pyfile.size = parseFileSize(data['filesize']) self.link = data['link'] if self.getConfig("https"): @@ -63,19 +63,19 @@ class AlldebridCom(MultiHoster): else: self.link = self.link.replace("https://", "http://") - if self.link != self.pyfile.url: + if self.link != pyfile.url: self.logDebug("New URL: %s" % self.link) - if self.pyfile.name.startswith("http") or self.pyfile.name.startswith("Unknown"): + if pyfile.name.startswith("http") or pyfile.name.startswith("Unknown"): #only use when name wasnt already set - self.pyfile.name = self.getFilename(self.link) + pyfile.name = self.getFilename(self.link) def checkFile(self): - super(AlldebridCom, self).checkFile() - - if self.checkDownload({'error': "An error occured while processing your request"}) is "error": + if self.checkDownload({'error': "An error occured while processing your request"}) == "error": self.retry(wait_time=60, reason=_("An error occured while generating link")) + return super(AlldebridCom, self).checkFile() + getInfo = create_getInfo(AlldebridCom) -- cgit v1.2.3 From f533c3c58f632e188d288535fc972e633c6b8f0a Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Fri, 9 Jan 2015 17:34:30 +0100 Subject: Fix SSL option in some hoster plugins --- module/plugins/hoster/AlldebridCom.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'module/plugins/hoster/AlldebridCom.py') diff --git a/module/plugins/hoster/AlldebridCom.py b/module/plugins/hoster/AlldebridCom.py index 4db32da5d..1fcb4d784 100644 --- a/module/plugins/hoster/AlldebridCom.py +++ b/module/plugins/hoster/AlldebridCom.py @@ -13,7 +13,7 @@ from module.utils import parseFileSize class AlldebridCom(MultiHoster): __name__ = "AlldebridCom" __type__ = "hoster" - __version__ = "0.43" + __version__ = "0.44" __pattern__ = r'https?://(?:www\.|s\d+\.)?alldebrid\.com/dl/[\w^_]+' @@ -58,7 +58,7 @@ class AlldebridCom(MultiHoster): pyfile.size = parseFileSize(data['filesize']) self.link = data['link'] - if self.getConfig("https"): + if self.getConfig("ssl"): self.link = self.link.replace("http://", "https://") else: self.link = self.link.replace("https://", "http://") -- cgit v1.2.3 From b25bc61dd47d8d3c42969bd0f72443b21c4b059e Mon Sep 17 00:00:00 2001 From: Walter Purcaro Date: Sun, 8 Feb 2015 02:09:45 +0100 Subject: Spare code cosmetics --- module/plugins/hoster/AlldebridCom.py | 3 --- 1 file changed, 3 deletions(-) (limited to 'module/plugins/hoster/AlldebridCom.py') diff --git a/module/plugins/hoster/AlldebridCom.py b/module/plugins/hoster/AlldebridCom.py index 1fcb4d784..427eb42f0 100644 --- a/module/plugins/hoster/AlldebridCom.py +++ b/module/plugins/hoster/AlldebridCom.py @@ -63,9 +63,6 @@ class AlldebridCom(MultiHoster): else: self.link = self.link.replace("https://", "http://") - if self.link != pyfile.url: - self.logDebug("New URL: %s" % self.link) - if pyfile.name.startswith("http") or pyfile.name.startswith("Unknown"): #only use when name wasnt already set pyfile.name = self.getFilename(self.link) -- cgit v1.2.3