diff options
Diffstat (limited to 'module/plugins/hoster/AlldebridCom.py')
| -rw-r--r-- | module/plugins/hoster/AlldebridCom.py | 74 | 
1 files changed, 35 insertions, 39 deletions
| 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': "<title>An error occured while processing your request</title>", +                                        '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': "<title>An error occured while processing your request</title>", -                                    '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) | 
