From 5a1cd89497598daffdd643114db7a033cf46a807 Mon Sep 17 00:00:00 2001 From: zoidberg10 Date: Wed, 7 Mar 2012 22:27:53 +0100 Subject: AllDebrid plugin by Andy, Voigt; closed #555; generic XFileSharingPro plugin --- module/plugins/hoster/AlldebridCom.py | 65 +++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 module/plugins/hoster/AlldebridCom.py (limited to 'module/plugins/hoster/AlldebridCom.py') diff --git a/module/plugins/hoster/AlldebridCom.py b/module/plugins/hoster/AlldebridCom.py new file mode 100644 index 000000000..56e3a9040 --- /dev/null +++ b/module/plugins/hoster/AlldebridCom.py @@ -0,0 +1,65 @@ +#!/usr/nv python +# -*- coding: utf-8 -*- + +import BeautifulSoup +from urllib import quote, unquote +from random import randrange + +from module.plugins.Hoster import Hoster + +class AlldebridCom(Hoster): + __name__ = "AlldebridCom" + __version__ = "0.1" + __type__ = "hoster" + + __pattern__ = r"https?://.*alldebrid\..*" + __description__ = """Alldebrid.com hoster plugin""" + __author_name__ = ("Andy, Voigt") + __author_mail__ = ("spamsales@online.de") + + def getFilename(self, url): + try: + 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 + + def init(self): + self.tries = 0 + self.chunkLimit = 3 + self.resumeDownload = True + + + def process(self, pyfile): + url="http://www.alldebrid.com/service.php?link=%s" %(pyfile.url) + + page = self.load(url) + + soup = BeautifulSoup.BeautifulSoup(page) + for link in soup.findAll("a"): + new_url = link.get("href") + + + if self.getConfig("https"): + new_url = new_url.replace("http://", "https://") + else: + new_url = new_url.replace("https://", "http://") + + self.log.debug("AllDebrid: New URL: %s" % new_url) + + + if pyfile.name.startswith("http") or pyfile.name.startswith("Unknown"): + #only use when name wasnt already set + pyfile.name = self.getFilename(new_url) + + self.download(new_url, disposition=True) + + check = self.checkDownload( + {"error": "An error occured while processing your request"}) + + if check == "error": + #usual this download can safely be retried + self.retry(reason="An error occured while generating link.", wait_time=60) + -- cgit v1.2.3