diff options
Diffstat (limited to 'module/plugins')
28 files changed, 280 insertions, 206 deletions
diff --git a/module/plugins/hooks/AlldebridCom.py b/module/plugins/hooks/AlldebridCom.py index e1f63c31b..dddd97c0c 100644 --- a/module/plugins/hooks/AlldebridCom.py +++ b/module/plugins/hooks/AlldebridCom.py @@ -6,13 +6,16 @@ from module.plugins.internal.MultiHook import MultiHook  class AlldebridCom(MultiHook):      __name__    = "AlldebridCom"      __type__    = "hook" -    __version__ = "0.15" +    __version__ = "0.16" -    __config__ = [("https", "bool", "Enable HTTPS", False), -                  ("mode", "all;listed;unlisted", "Use for hosters (if supported)", "all"), -                  ("pluginlist", "str", "Hoster list (comma separated)", ""), -                  ("revertfailed", "bool", "Revert to standard download if download fails", False), -                  ("interval", "int", "Reload interval in hours (0 to disable)", 24)] +    __config__ = [("pluginmode"    , "all;listed;unlisted", "Use for plugins"                     , "all"), +                  ("pluginlist"    , "str"                , "Plugin list (comma separated)"       , ""   ), +                  ("revertfailed"  , "bool"               , "Revert to standard download if fails", True ), +                  ("retry"         , "int"                , "Number of retries before revert"     , 10   ), +                  ("retryinterval" , "int"                , "Retry interval in minutes"           , 1    ), +                  ("reload"        , "bool"               , "Reload plugin list"                  , True ), +                  ("reloadinterval", "int"                , "Reload interval in hours"            , 12   ), +                  ("ssl"           , "bool"               , "Use HTTPS"                           , True )]      __description__ = """Alldebrid.com hook plugin"""      __license__     = "GPLv3" @@ -20,7 +23,7 @@ class AlldebridCom(MultiHook):      def getHosters(self): -        https = "https" if self.getConfig("https") else "http" +        https = "https" if self.getConfig("ssl") else "http"          page = self.getURL(https + "://www.alldebrid.com/api.php", get={'action': "get_host"}).replace("\"", "").strip()          return [x.strip() for x in page.split(",") if x.strip()] diff --git a/module/plugins/hooks/CaptchaBrotherhood.py b/module/plugins/hooks/CaptchaBrotherhood.py index 9a9f05b29..3c08f5e36 100644 --- a/module/plugins/hooks/CaptchaBrotherhood.py +++ b/module/plugins/hooks/CaptchaBrotherhood.py @@ -38,7 +38,7 @@ class CaptchaBrotherhoodException(Exception):  class CaptchaBrotherhood(Hook):      __name__    = "CaptchaBrotherhood"      __type__    = "hook" -    __version__ = "0.07" +    __version__ = "0.08"      __config__ = [("username", "str", "Username", ""),                    ("force", "bool", "Force CT even if client is connected", False), @@ -118,14 +118,14 @@ class CaptchaBrotherhood(Hook):          for _i in xrange(15):              sleep(5) -            res = self.get_api("askCaptchaResult", ticket) +            res = self.api_response("askCaptchaResult", ticket)              if res.startswith("OK-answered"):                  return ticket, res[12:]          raise CaptchaBrotherhoodException("No solution received in time") -    def get_api(self, api, ticket): +    def api_response(self, api, ticket):          res = getURL("%s%s.aspx" % (self.API_URL, api),                            get={"username": self.getConfig("username"),                                 "password": self.getConfig("passkey"), @@ -160,7 +160,7 @@ class CaptchaBrotherhood(Hook):      def captchaInvalid(self, task):          if task.data['service'] == self.__name__ and "ticket" in task.data: -            res = self.get_api("complainCaptcha", task.data['ticket']) +            res = self.api_response("complainCaptcha", task.data['ticket'])      @threaded diff --git a/module/plugins/hooks/DeathByCaptcha.py b/module/plugins/hooks/DeathByCaptcha.py index 98412c218..050b6fe15 100644 --- a/module/plugins/hooks/DeathByCaptcha.py +++ b/module/plugins/hooks/DeathByCaptcha.py @@ -51,7 +51,7 @@ class DeathByCaptchaException(Exception):  class DeathByCaptcha(Hook):      __name__    = "DeathByCaptcha"      __type__    = "hook" -    __version__ = "0.05" +    __version__ = "0.06"      __config__ = [("username", "str", "Username", ""),                    ("passkey", "password", "Password", ""), @@ -75,7 +75,7 @@ class DeathByCaptcha(Hook):          self.info = {}  #@TODO: Remove in 0.4.10 -    def call_api(self, api="captcha", post=False, multipart=False): +    def api_response(self, api="captcha", post=False, multipart=False):          req = getRequest()          req.c.setopt(HTTPHEADER, ["Accept: application/json", "User-Agent: pyLoad %s" % self.core.version]) @@ -117,7 +117,7 @@ class DeathByCaptcha(Hook):      def getCredits(self): -        res = self.call_api("user", True) +        res = self.api_response("user", True)          if 'is_banned' in res and res['is_banned']:              raise DeathByCaptchaException('banned') @@ -128,7 +128,7 @@ class DeathByCaptcha(Hook):      def getStatus(self): -        res = self.call_api("status", False) +        res = self.api_response("status", False)          if 'is_service_overloaded' in res and res['is_service_overloaded']:              raise DeathByCaptchaException('service-overload') @@ -145,7 +145,7 @@ class DeathByCaptcha(Hook):                  data = f.read()              data = "base64:" + b64encode(data) -        res = self.call_api("captcha", {"captchafile": data}, multipart) +        res = self.api_response("captcha", {"captchafile": data}, multipart)          if "captcha" not in res:              raise DeathByCaptchaException(res) @@ -153,7 +153,7 @@ class DeathByCaptcha(Hook):          for _i in xrange(24):              sleep(5) -            res = self.call_api("captcha/%d" % ticket, False) +            res = self.api_response("captcha/%d" % ticket, False)              if res['text'] and res['is_correct']:                  break          else: @@ -200,7 +200,7 @@ class DeathByCaptcha(Hook):      def captchaInvalid(self, task):          if task.data['service'] == self.__name__ and "ticket" in task.data:              try: -                res = self.call_api("captcha/%d/report" % task.data['ticket'], True) +                res = self.api_response("captcha/%d/report" % task.data['ticket'], True)              except DeathByCaptchaException, e:                  self.logError(e.getDesc()) diff --git a/module/plugins/hooks/DebridItaliaCom.py b/module/plugins/hooks/DebridItaliaCom.py index d18be5384..719f3dd3a 100644 --- a/module/plugins/hooks/DebridItaliaCom.py +++ b/module/plugins/hooks/DebridItaliaCom.py @@ -8,12 +8,15 @@ from module.plugins.internal.MultiHook import MultiHook  class DebridItaliaCom(MultiHook):      __name__    = "DebridItaliaCom"      __type__    = "hook" -    __version__ = "0.11" - -    __config__ = [("mode", "all;listed;unlisted", "Use for hosters (if supported)", "all"), -                  ("pluginlist", "str", "Hoster list (comma separated)", ""), -                  ("revertfailed", "bool", "Revert to standard download if download fails", False), -                  ("interval", "int", "Reload interval in hours (0 to disable)", 24)] +    __version__ = "0.12" + +    __config__ = [("pluginmode"    , "all;listed;unlisted", "Use for plugins"                     , "all"), +                  ("pluginlist"    , "str"                , "Plugin list (comma separated)"       , ""   ), +                  ("revertfailed"  , "bool"               , "Revert to standard download if fails", True ), +                  ("retry"         , "int"                , "Number of retries before revert"     , 10   ), +                  ("retryinterval" , "int"                , "Retry interval in minutes"           , 1    ), +                  ("reload"        , "bool"               , "Reload plugin list"                  , True ), +                  ("reloadinterval", "int"                , "Reload interval in hours"            , 12   )]      __description__ = """Debriditalia.com hook plugin"""      __license__     = "GPLv3" diff --git a/module/plugins/hooks/EasybytezCom.py b/module/plugins/hooks/EasybytezCom.py index 1606c9f30..c460de7b7 100644 --- a/module/plugins/hooks/EasybytezCom.py +++ b/module/plugins/hooks/EasybytezCom.py @@ -8,10 +8,15 @@ from module.plugins.internal.MultiHook import MultiHook  class EasybytezCom(MultiHook):      __name__    = "EasybytezCom"      __type__    = "hook" -    __version__ = "0.06" - -    __config__ = [("mode", "all;listed;unlisted", "Use for hosters (if supported)", "all"), -                  ("pluginlist", "str", "Hoster list (comma separated)", "")] +    __version__ = "0.07" + +    __config__ = [("pluginmode"    , "all;listed;unlisted", "Use for plugins"                     , "all"), +                  ("pluginlist"    , "str"                , "Plugin list (comma separated)"       , ""   ), +                  ("revertfailed"  , "bool"               , "Revert to standard download if fails", True ), +                  ("retry"         , "int"                , "Number of retries before revert"     , 10   ), +                  ("retryinterval" , "int"                , "Retry interval in minutes"           , 1    ), +                  ("reload"        , "bool"               , "Reload plugin list"                  , True ), +                  ("reloadinterval", "int"                , "Reload interval in hours"            , 12   )]      __description__ = """EasyBytez.com hook plugin"""      __license__     = "GPLv3" diff --git a/module/plugins/hooks/FastixRu.py b/module/plugins/hooks/FastixRu.py index a4b423fb7..25126fbd3 100644 --- a/module/plugins/hooks/FastixRu.py +++ b/module/plugins/hooks/FastixRu.py @@ -7,11 +7,15 @@ from module.plugins.internal.MultiHook import MultiHook  class FastixRu(MultiHook):      __name__    = "FastixRu"      __type__    = "hook" -    __version__ = "0.04" +    __version__ = "0.05" -    __config__ = [("mode", "all;listed;unlisted", "Use for hosters (if supported)", "all"), -                  ("revertfailed", "bool", "Revert to standard download if download fails", False), -                  ("interval", "int", "Reload interval in hours (0 to disable)", 24)] +    __config__ = [("pluginmode"    , "all;listed;unlisted", "Use for plugins"                     , "all"), +                  ("pluginlist"    , "str"                , "Plugin list (comma separated)"       , ""   ), +                  ("revertfailed"  , "bool"               , "Revert to standard download if fails", True ), +                  ("retry"         , "int"                , "Number of retries before revert"     , 10   ), +                  ("retryinterval" , "int"                , "Retry interval in minutes"           , 1    ), +                  ("reload"        , "bool"               , "Reload plugin list"                  , True ), +                  ("reloadinterval", "int"                , "Reload interval in hours"            , 12   )]      __description__ = """Fastix.ru hook plugin"""      __license__     = "GPLv3" diff --git a/module/plugins/hooks/FreeWayMe.py b/module/plugins/hooks/FreeWayMe.py index 6cbea3417..6fec037d8 100644 --- a/module/plugins/hooks/FreeWayMe.py +++ b/module/plugins/hooks/FreeWayMe.py @@ -6,12 +6,15 @@ from module.plugins.internal.MultiHook import MultiHook  class FreeWayMe(MultiHook):      __name__    = "FreeWayMe"      __type__    = "hook" -    __version__ = "0.13" +    __version__ = "0.14" -    __config__ = [("mode", "all;listed;unlisted", "Use for hosters (if supported):", "all"), -                  ("pluginlist", "str", "Hoster list (comma separated)", ""), -                  ("revertfailed", "bool", "Revert to standard download if download fails", False), -                  ("interval", "int", "Reload interval in hours (0 to disable)", 24)] +    __config__ = [("pluginmode"    , "all;listed;unlisted", "Use for plugins"                     , "all"), +                  ("pluginlist"    , "str"                , "Plugin list (comma separated)"       , ""   ), +                  ("revertfailed"  , "bool"               , "Revert to standard download if fails", True ), +                  ("retry"         , "int"                , "Number of retries before revert"     , 10   ), +                  ("retryinterval" , "int"                , "Retry interval in minutes"           , 1    ), +                  ("reload"        , "bool"               , "Reload plugin list"                  , True ), +                  ("reloadinterval", "int"                , "Reload interval in hours"            , 12   )]      __description__ = """FreeWay.me hook plugin"""      __license__     = "GPLv3" diff --git a/module/plugins/hooks/LinkdecrypterCom.py b/module/plugins/hooks/LinkdecrypterCom.py index 8592efd3d..d4924a687 100644 --- a/module/plugins/hooks/LinkdecrypterCom.py +++ b/module/plugins/hooks/LinkdecrypterCom.py @@ -8,11 +8,12 @@ from module.plugins.internal.MultiHook import MultiHook  class LinkdecrypterCom(MultiHook):      __name__    = "LinkdecrypterCom"      __type__    = "hook" -    __version__ = "1.00" +    __version__ = "1.01" -    __config__ = [("mode"        , "all;listed;unlisted", "Use for crypters (if supported)"              , "all"), -                  ("pluginlist"  , "str"                , "Crypter list (comma separated)"               , ""   ), -                  ("interval"    , "int"                , "Reload interval in hours (0 to disable)"      , 12   )] +    __config__ = [("pluginmode"    , "all;listed;unlisted", "Use for plugins"                     , "all"), +                  ("pluginlist"    , "str"                , "Plugin list (comma separated)"       , ""   ), +                  ("reload"        , "bool"               , "Reload plugin list"                  , True ), +                  ("reloadinterval", "int"                , "Reload interval in hours"            , 12   )]      __description__ = """Linkdecrypter.com hook plugin"""      __license__     = "GPLv3" diff --git a/module/plugins/hooks/LinksnappyCom.py b/module/plugins/hooks/LinksnappyCom.py index a1c4b90f7..5eb0c7f6d 100644 --- a/module/plugins/hooks/LinksnappyCom.py +++ b/module/plugins/hooks/LinksnappyCom.py @@ -7,12 +7,15 @@ from module.plugins.internal.MultiHook import MultiHook  class LinksnappyCom(MultiHook):      __name__    = "LinksnappyCom"      __type__    = "hook" -    __version__ = "0.03" - -    __config__ = [("mode", "all;listed;unlisted", "Use for hosters (if supported)", "all"), -                  ("pluginlist", "str", "Hoster list (comma separated)", ""), -                  ("revertfailed", "bool", "Revert to standard download if download fails", False), -                  ("interval", "int", "Reload interval in hours (0 to disable)", 24)] +    __version__ = "0.04" + +    __config__ = [("pluginmode"    , "all;listed;unlisted", "Use for plugins"                     , "all"), +                  ("pluginlist"    , "str"                , "Plugin list (comma separated)"       , ""   ), +                  ("revertfailed"  , "bool"               , "Revert to standard download if fails", True ), +                  ("retry"         , "int"                , "Number of retries before revert"     , 10   ), +                  ("retryinterval" , "int"                , "Retry interval in minutes"           , 1    ), +                  ("reload"        , "bool"               , "Reload plugin list"                  , True ), +                  ("reloadinterval", "int"                , "Reload interval in hours"            , 12   )]      __description__ = """Linksnappy.com hook plugin"""      __license__     = "GPLv3" diff --git a/module/plugins/hooks/MegaDebridEu.py b/module/plugins/hooks/MegaDebridEu.py index 5fb7e1ea6..f67fa7ac0 100644 --- a/module/plugins/hooks/MegaDebridEu.py +++ b/module/plugins/hooks/MegaDebridEu.py @@ -7,11 +7,17 @@ from module.plugins.internal.MultiHook import MultiHook  class MegaDebridEu(MultiHook):      __name__    = "MegaDebridEu"      __type__    = "hook" -    __version__ = "0.04" +    __version__ = "0.05" -    __config__ = [("revertfailed", "bool", "Revert to standard download if download fails", False)] +    __config__ = [("pluginmode"    , "all;listed;unlisted", "Use for plugins"                     , "all"), +                  ("pluginlist"    , "str"                , "Plugin list (comma separated)"       , ""   ), +                  ("revertfailed"  , "bool"               , "Revert to standard download if fails", True ), +                  ("retry"         , "int"                , "Number of retries before revert"     , 10   ), +                  ("retryinterval" , "int"                , "Retry interval in minutes"           , 1    ), +                  ("reload"        , "bool"               , "Reload plugin list"                  , True ), +                  ("reloadinterval", "int"                , "Reload interval in hours"            , 12   )] -    __description__ = """mega-debrid.eu hook plugin""" +    __description__ = """Mega-debrid.eu hook plugin"""      __license__     = "GPLv3"      __authors__     = [("D.Ducatel", "dducatel@je-geek.fr")] diff --git a/module/plugins/hooks/MultihostersCom.py b/module/plugins/hooks/MultihostersCom.py index 5ada3aa56..bf88cfae7 100644 --- a/module/plugins/hooks/MultihostersCom.py +++ b/module/plugins/hooks/MultihostersCom.py @@ -1,22 +1,18 @@  # -*- coding: utf-8 -*- -from module.network.RequestFactory import getURL -from module.plugins.internal.MultiHoster import MultiHoster +from module.plugins.hooks.ZeveraCom import ZeveraCom -class MultihostersCom(MultiHoster): -    __name__ = "MultihostersCom" -    __version__ = "0.01" -    __type__ = "hook" -    __config__ = [("activated", "bool", "Activated", False), -                  ("hosterListMode", "all;listed;unlisted", "Use for hosters (if supported)", "all"), -                  ("hosterList", "str", "Hoster list (comma separated)", ""), -                  ("unloadFailing", "bool", "Revert to standard download if download fails", False), -                  ("interval", "int", "Reload interval in hours (0 to disable)", 24)] -    __description__ = """Multihosters.com hook plugin""" -    __author_name__ = "tjeh" -    __author_mail__ = "tjeh@gmx.net" +class MultihostersCom(ZeveraCom): +    __name__    = "MultihostersCom" +    __type__    = "hook" +    __version__ = "0.02" + +    __config__ = [("mode"        , "all;listed;unlisted", "Use for plugins (if supported)"               , "all"), +                  ("pluginlist"  , "str"                , "Plugin list (comma separated)"                , ""   ), +                  ("revertfailed", "bool"               , "Revert to standard download if download fails", False), +                  ("interval"    , "int"                , "Reload interval in hours (0 to disable)"      , 12   )] -    def getHoster(self): -        page = getURL("http://www.multihosters.com/jDownloader.ashx?cmd=gethosters") -        return [x.strip() for x in page.split(",")]
\ No newline at end of file +    __description__ = """Multihosters.com hook plugin""" +    __license__     = "GPLv3" +    __authors__     = [("tjeh", "tjeh@gmx.net")] diff --git a/module/plugins/hooks/MultishareCz.py b/module/plugins/hooks/MultishareCz.py index 2dadf5dc1..8349e0de8 100644 --- a/module/plugins/hooks/MultishareCz.py +++ b/module/plugins/hooks/MultishareCz.py @@ -8,10 +8,15 @@ from module.plugins.internal.MultiHook import MultiHook  class MultishareCz(MultiHook):      __name__    = "MultishareCz"      __type__    = "hook" -    __version__ = "0.06" - -    __config__ = [("mode", "all;listed;unlisted", "Use for hosters (if supported)", "all"), -                  ("pluginlist", "str", "Hoster list (comma separated)", "uloz.to")] +    __version__ = "0.07" + +    __config__ = [("pluginmode"    , "all;listed;unlisted", "Use for plugins"                     , "all"), +                  ("pluginlist"    , "str"                , "Plugin list (comma separated)"       , ""   ), +                  ("revertfailed"  , "bool"               , "Revert to standard download if fails", True ), +                  ("retry"         , "int"                , "Number of retries before revert"     , 10   ), +                  ("retryinterval" , "int"                , "Retry interval in minutes"           , 1    ), +                  ("reload"        , "bool"               , "Reload plugin list"                  , True ), +                  ("reloadinterval", "int"                , "Reload interval in hours"            , 12   )]      __description__ = """MultiShare.cz hook plugin"""      __license__     = "GPLv3" diff --git a/module/plugins/hooks/MyfastfileCom.py b/module/plugins/hooks/MyfastfileCom.py index 2fda0d3bf..86408cb6d 100644 --- a/module/plugins/hooks/MyfastfileCom.py +++ b/module/plugins/hooks/MyfastfileCom.py @@ -7,12 +7,15 @@ from module.plugins.internal.MultiHook import MultiHook  class MyfastfileCom(MultiHook):      __name__    = "MyfastfileCom"      __type__    = "hook" -    __version__ = "0.04" - -    __config__ = [("mode", "all;listed;unlisted", "Use for hosters (if supported)", "all"), -                  ("pluginlist", "str", "Hoster list (comma separated)", ""), -                  ("revertfailed", "bool", "Revert to standard download if download fails", False), -                  ("interval", "int", "Reload interval in hours (0 to disable)", 24)] +    __version__ = "0.05" + +    __config__ = [("pluginmode"    , "all;listed;unlisted", "Use for plugins"                     , "all"), +                  ("pluginlist"    , "str"                , "Plugin list (comma separated)"       , ""   ), +                  ("revertfailed"  , "bool"               , "Revert to standard download if fails", True ), +                  ("retry"         , "int"                , "Number of retries before revert"     , 10   ), +                  ("retryinterval" , "int"                , "Retry interval in minutes"           , 1    ), +                  ("reload"        , "bool"               , "Reload plugin list"                  , True ), +                  ("reloadinterval", "int"                , "Reload interval in hours"            , 12   )]      __description__ = """Myfastfile.com hook plugin"""      __license__     = "GPLv3" diff --git a/module/plugins/hooks/NoPremiumPl.py b/module/plugins/hooks/NoPremiumPl.py index 2347fc58a..1727bec70 100644 --- a/module/plugins/hooks/NoPremiumPl.py +++ b/module/plugins/hooks/NoPremiumPl.py @@ -1,28 +1,31 @@  # -*- coding: utf-8 -*- +from module.common.json_layer import json_loads  from module.plugins.internal.MultiHook import MultiHook -from module.common.json_layer import json_loads as loads  class NoPremiumPl(MultiHook): -    __name__ = "NoPremiumPl" -    __version__ = "0.02" -    __type__ = "hook" +    __name__    = "NoPremiumPl" +    __type__    = "hook" +    __version__ = "0.03" -    __config__ = [("activated", "bool", "Activated", False), -                  ("hosterListMode", "all;listed;unlisted", "Use for hosters (if supported):", "all"), -                  ("hosterList", "str", "Hoster list (comma separated)", ""), -                  ("unloadFailing", "bool", "Try standard download if download fails", False), -                  ("interval", "int", "Reload supported hosts interval in hours (0 to disable)", 24)] +    __config__ = [("pluginmode"    , "all;listed;unlisted", "Use for plugins"                     , "all"), +                  ("pluginlist"    , "str"                , "Plugin list (comma separated)"       , ""   ), +                  ("revertfailed"  , "bool"               , "Revert to standard download if fails", True ), +                  ("retry"         , "int"                , "Number of retries before revert"     , 10   ), +                  ("retryinterval" , "int"                , "Retry interval in minutes"           , 1    ), +                  ("reload"        , "bool"               , "Reload plugin list"                  , True ), +                  ("reloadinterval", "int"                , "Reload interval in hours"            , 12   )] + +    __description__ = """NoPremium.pl hook plugin""" +    __license__     = "GPLv3" +    __authors__     = [("goddie", "dev@nopremium.pl")] -    __description__ = "NoPremium.pl hook" -    __license__ = "GPLv3" -    __authors__ = [("goddie", "dev@nopremium.pl")]      def getHosters(self): -        hostings = loads(self.getURL("https://www.nopremium.pl/clipboard.php?json=3").strip()) +        hostings         = json_loads(self.getURL("https://www.nopremium.pl/clipboard.php?json=3").strip())          hostings_domains = [domain for row in hostings for domain in row["domains"] if row["sdownload"] == "0"] -        self.logDebug(hostings_domains) -        return hostings_domains +        self.logDebug(hostings_domains) +        return hostings_domains diff --git a/module/plugins/hooks/OverLoadMe.py b/module/plugins/hooks/OverLoadMe.py index eb3da319a..1872f8ccb 100644 --- a/module/plugins/hooks/OverLoadMe.py +++ b/module/plugins/hooks/OverLoadMe.py @@ -6,13 +6,16 @@ from module.plugins.internal.MultiHook import MultiHook  class OverLoadMe(MultiHook):      __name__    = "OverLoadMe"      __type__    = "hook" -    __version__ = "0.03" +    __version__ = "0.04" -    __config__ = [("https", "bool", "Enable HTTPS", True), -                  ("mode", "all;listed;unlisted", "Use for hosters (if supported):", "all"), -                  ("pluginlist", "str", "Hoster list (comma separated)", ""), -                  ("revertfailed", "bool", "Revert to standard download if download fails", False), -                  ("interval", "int", "Reload interval in hours (0 to disable)", 12)] +    __config__ = [("pluginmode"    , "all;listed;unlisted", "Use for plugins"                     , "all"), +                  ("pluginlist"    , "str"                , "Plugin list (comma separated)"       , ""   ), +                  ("revertfailed"  , "bool"               , "Revert to standard download if fails", True ), +                  ("retry"         , "int"                , "Number of retries before revert"     , 10   ), +                  ("retryinterval" , "int"                , "Retry interval in minutes"           , 1    ), +                  ("reload"        , "bool"               , "Reload plugin list"                  , True ), +                  ("reloadinterval", "int"                , "Reload interval in hours"            , 12   ), +                  ("ssl"           , "bool"               , "Use HTTPS"                           , True )]      __description__ = """Over-Load.me hook plugin"""      __license__     = "GPLv3" @@ -20,7 +23,7 @@ class OverLoadMe(MultiHook):      def getHosters(self): -        https = "https" if self.getConfig("https") else "http" +        https = "https" if self.getConfig("ssl") else "http"          page = self.getURL(https + "://api.over-load.me/hoster.php",                        get={'auth': "0001-cb1f24dadb3aa487bda5afd3b76298935329be7700cd7-5329be77-00cf-1ca0135f"}).replace("\"", "").strip()          self.logDebug("Hosterlist", page) diff --git a/module/plugins/hooks/PremiumTo.py b/module/plugins/hooks/PremiumTo.py index a4203c8bb..844ecc89d 100644 --- a/module/plugins/hooks/PremiumTo.py +++ b/module/plugins/hooks/PremiumTo.py @@ -6,10 +6,15 @@ from module.plugins.internal.MultiHook import MultiHook  class PremiumTo(MultiHook):      __name__    = "PremiumTo"      __type__    = "hook" -    __version__ = "0.07" +    __version__ = "0.08" -    __config__ = [("mode", "all;listed;unlisted", "Use for downloads from supported hosters:", "all"), -                  ("pluginlist", "str", "Hoster list (comma separated)", "")] +    __config__ = [("pluginmode"    , "all;listed;unlisted", "Use for plugins"                     , "all"), +                  ("pluginlist"    , "str"                , "Plugin list (comma separated)"       , ""   ), +                  ("revertfailed"  , "bool"               , "Revert to standard download if fails", True ), +                  ("retry"         , "int"                , "Number of retries before revert"     , 10   ), +                  ("retryinterval" , "int"                , "Retry interval in minutes"           , 1    ), +                  ("reload"        , "bool"               , "Reload plugin list"                  , True ), +                  ("reloadinterval", "int"                , "Reload interval in hours"            , 12   )]      __description__ = """Premium.to hook plugin"""      __license__     = "GPLv3" diff --git a/module/plugins/hooks/PremiumizeMe.py b/module/plugins/hooks/PremiumizeMe.py index d334ddd25..293fcf339 100644 --- a/module/plugins/hooks/PremiumizeMe.py +++ b/module/plugins/hooks/PremiumizeMe.py @@ -7,12 +7,15 @@ from module.plugins.internal.MultiHook import MultiHook  class PremiumizeMe(MultiHook):      __name__    = "PremiumizeMe"      __type__    = "hook" -    __version__ = "0.16" - -    __config__ = [("mode", "all;listed;unlisted", "Use for hosters (if supported):", "all"), -                  ("pluginlist", "str", "Hoster list (comma separated)", ""), -                  ("revertfailed", "bool", "Revert to standard download if download fails", False), -                  ("interval", "int", "Reload interval in hours (0 to disable)", 24)] +    __version__ = "0.17" + +    __config__ = [("pluginmode"    , "all;listed;unlisted", "Use for plugins"                     , "all"), +                  ("pluginlist"    , "str"                , "Plugin list (comma separated)"       , ""   ), +                  ("revertfailed"  , "bool"               , "Revert to standard download if fails", True ), +                  ("retry"         , "int"                , "Number of retries before revert"     , 10   ), +                  ("retryinterval" , "int"                , "Retry interval in minutes"           , 1    ), +                  ("reload"        , "bool"               , "Reload plugin list"                  , True ), +                  ("reloadinterval", "int"                , "Reload interval in hours"            , 12   )]      __description__ = """Premiumize.me hook plugin"""      __license__     = "GPLv3" diff --git a/module/plugins/hooks/PutdriveCom.py b/module/plugins/hooks/PutdriveCom.py new file mode 100644 index 000000000..f665dabee --- /dev/null +++ b/module/plugins/hooks/PutdriveCom.py @@ -0,0 +1,18 @@ +# -*- coding: utf-8 -*- + +from module.plugins.hooks.ZeveraCom import ZeveraCom + + +class PutdriveCom(ZeveraCom): +    __name__    = "PutdriveCom" +    __type__    = "hook" +    __version__ = "0.01" + +    __config__ = [("mode"        , "all;listed;unlisted", "Use for plugins (if supported)"               , "all"), +                  ("pluginlist"  , "str"                , "Plugin list (comma separated)"                , ""   ), +                  ("revertfailed", "bool"               , "Revert to standard download if download fails", False), +                  ("interval"    , "int"                , "Reload interval in hours (0 to disable)"      , 12   )] + +    __description__ = """Putdrive.com hook plugin""" +    __license__     = "GPLv3" +    __authors__     = [("Walter Purcaro", "vuolter@gmail.com")] diff --git a/module/plugins/hooks/RPNetBiz.py b/module/plugins/hooks/RPNetBiz.py index 9c88e6c01..0768bd6cd 100644 --- a/module/plugins/hooks/RPNetBiz.py +++ b/module/plugins/hooks/RPNetBiz.py @@ -7,12 +7,15 @@ from module.plugins.internal.MultiHook import MultiHook  class RPNetBiz(MultiHook):      __name__    = "RPNetBiz"      __type__    = "hook" -    __version__ = "0.13" - -    __config__ = [("mode", "all;listed;unlisted", "Use for hosters (if supported):", "all"), -                  ("pluginlist", "str", "Hoster list (comma separated)", ""), -                  ("revertfailed", "bool", "Revert to standard download if download fails", False), -                  ("interval", "int", "Reload interval in hours (0 to disable)", 24)] +    __version__ = "0.14" + +    __config__ = [("pluginmode"    , "all;listed;unlisted", "Use for plugins"                     , "all"), +                  ("pluginlist"    , "str"                , "Plugin list (comma separated)"       , ""   ), +                  ("revertfailed"  , "bool"               , "Revert to standard download if fails", True ), +                  ("retry"         , "int"                , "Number of retries before revert"     , 10   ), +                  ("retryinterval" , "int"                , "Retry interval in minutes"           , 1    ), +                  ("reload"        , "bool"               , "Reload plugin list"                  , True ), +                  ("reloadinterval", "int"                , "Reload interval in hours"            , 12   )]      __description__ = """RPNet.biz hook plugin"""      __license__     = "GPLv3" diff --git a/module/plugins/hooks/RapideoPl.py b/module/plugins/hooks/RapideoPl.py index 9eb454897..b605eca17 100644 --- a/module/plugins/hooks/RapideoPl.py +++ b/module/plugins/hooks/RapideoPl.py @@ -1,28 +1,31 @@  # -*- coding: utf-8 -*- +from module.common.json_layer import json_loads  from module.plugins.internal.MultiHook import MultiHook -from module.common.json_layer import json_loads as loads  class RapideoPl(MultiHook): -    __name__ = "RapideoPl" -    __version__ = "0.02" -    __type__ = "hook" +    __name__    = "RapideoPl" +    __type__    = "hook" +    __version__ = "0.03" -    __config__ = [("activated", "bool", "Activated", False), -                  ("hosterListMode", "all;listed;unlisted", "Use for hosters (if supported):", "all"), -                  ("hosterList", "str", "Hoster list (comma separated)", ""), -                  ("unloadFailing", "bool", "Try standard download if download fails", False), -                  ("interval", "int", "Reload supported hosts interval in hours (0 to disable)", 24)] +    __config__ = [("pluginmode"    , "all;listed;unlisted", "Use for plugins"                     , "all"), +                  ("pluginlist"    , "str"                , "Plugin list (comma separated)"       , ""   ), +                  ("revertfailed"  , "bool"               , "Revert to standard download if fails", True ), +                  ("retry"         , "int"                , "Number of retries before revert"     , 10   ), +                  ("retryinterval" , "int"                , "Retry interval in minutes"           , 1    ), +                  ("reload"        , "bool"               , "Reload plugin list"                  , True ), +                  ("reloadinterval", "int"                , "Reload interval in hours"            , 12   )] + +    __description__ = """Rapideo.pl hook plugin""" +    __license__     = "GPLv3" +    __authors__     = [("goddie", "dev@rapideo.pl")] -    __description__ = "Rapideo.pl hook" -    __license__ = "GPLv3" -    __authors__ = [("goddie", "dev@rapideo.pl")]      def getHosters(self): -        hostings = loads(self.getURL("https://www.rapideo.pl/clipboard.php?json=3").strip()) +        hostings         = json_loads(self.getURL("https://www.rapideo.pl/clipboard.php?json=3").strip())          hostings_domains = [domain for row in hostings for domain in row["domains"] if row["sdownload"] == "0"] -        self.logDebug(hostings_domains) -        return hostings_domains +        self.logDebug(hostings_domains) +        return hostings_domains diff --git a/module/plugins/hooks/RealdebridCom.py b/module/plugins/hooks/RealdebridCom.py index bac18e6c3..cff97c2f9 100644 --- a/module/plugins/hooks/RealdebridCom.py +++ b/module/plugins/hooks/RealdebridCom.py @@ -6,13 +6,16 @@ from module.plugins.internal.MultiHook import MultiHook  class RealdebridCom(MultiHook):      __name__    = "RealdebridCom"      __type__    = "hook" -    __version__ = "0.45" +    __version__ = "0.46" -    __config__ = [("https", "bool", "Enable HTTPS", False), -                  ("mode", "all;listed;unlisted", "Use for hosters (if supported):", "all"), -                  ("pluginlist", "str", "Hoster list (comma separated)", ""), -                  ("revertfailed", "bool", "Revert to standard download if download fails", False), -                  ("interval", "int", "Reload interval in hours (0 to disable)", 24)] +    __config__ = [("pluginmode"    , "all;listed;unlisted", "Use for plugins"                     , "all"), +                  ("pluginlist"    , "str"                , "Plugin list (comma separated)"       , ""   ), +                  ("revertfailed"  , "bool"               , "Revert to standard download if fails", True ), +                  ("retry"         , "int"                , "Number of retries before revert"     , 10   ), +                  ("retryinterval" , "int"                , "Retry interval in minutes"           , 1    ), +                  ("reload"        , "bool"               , "Reload plugin list"                  , True ), +                  ("reloadinterval", "int"                , "Reload interval in hours"            , 12   ), +                  ("ssl"           , "bool"               , "Use HTTPS"                           , True )]      __description__ = """Real-Debrid.com hook plugin"""      __license__     = "GPLv3" @@ -20,7 +23,7 @@ class RealdebridCom(MultiHook):      def getHosters(self): -        https = "https" if self.getConfig("https") else "http" +        https = "https" if self.getConfig("ssl") else "http"          page = self.getURL(https + "://real-debrid.com/api/hosters.php").replace("\"", "").strip()          return [x.strip() for x in page.split(",") if x.strip()] diff --git a/module/plugins/hooks/RehostTo.py b/module/plugins/hooks/RehostTo.py index 527770eb6..81cb26f2f 100644 --- a/module/plugins/hooks/RehostTo.py +++ b/module/plugins/hooks/RehostTo.py @@ -6,12 +6,15 @@ from module.plugins.internal.MultiHook import MultiHook  class RehostTo(MultiHook):      __name__    = "RehostTo"      __type__    = "hook" -    __version__ = "0.46" - -    __config__ = [("mode", "all;listed;unlisted", "Use for hosters (if supported)", "all"), -                  ("pluginlist", "str", "Hoster list (comma separated)", ""), -                  ("revertfailed", "bool", "Revert to standard download if download fails", False), -                  ("interval", "int", "Reload interval in hours (0 to disable)", 24)] +    __version__ = "0.47" + +    __config__ = [("pluginmode"    , "all;listed;unlisted", "Use for plugins"                     , "all"), +                  ("pluginlist"    , "str"                , "Plugin list (comma separated)"       , ""   ), +                  ("revertfailed"  , "bool"               , "Revert to standard download if fails", True ), +                  ("retry"         , "int"                , "Number of retries before revert"     , 10   ), +                  ("retryinterval" , "int"                , "Retry interval in minutes"           , 1    ), +                  ("reload"        , "bool"               , "Reload plugin list"                  , True ), +                  ("reloadinterval", "int"                , "Reload interval in hours"            , 12   )]      __description__ = """Rehost.to hook plugin"""      __license__     = "GPLv3" diff --git a/module/plugins/hooks/SimplyPremiumCom.py b/module/plugins/hooks/SimplyPremiumCom.py index 5f2d2a42c..843a3aa82 100644 --- a/module/plugins/hooks/SimplyPremiumCom.py +++ b/module/plugins/hooks/SimplyPremiumCom.py @@ -7,13 +7,15 @@ from module.plugins.internal.MultiHook import MultiHook  class SimplyPremiumCom(MultiHook):      __name__    = "SimplyPremiumCom"      __type__    = "hook" -    __version__ = "0.04" - -    __config__ = [("activated", "bool", "Activated", "False"), -                  ("mode", "all;listed;unlisted", "Use for hosters (if supported)", "all"), -                  ("pluginlist", "str", "Hoster list (comma separated)", ""), -                  ("revertfailed", "bool", "Revert to standard download if download fails", "False"), -                  ("interval", "int", "Reload interval in hours (0 to disable)", "24")] +    __version__ = "0.05" + +    __config__ = [("pluginmode"    , "all;listed;unlisted", "Use for plugins"                     , "all"), +                  ("pluginlist"    , "str"                , "Plugin list (comma separated)"       , ""   ), +                  ("revertfailed"  , "bool"               , "Revert to standard download if fails", True ), +                  ("retry"         , "int"                , "Number of retries before revert"     , 10   ), +                  ("retryinterval" , "int"                , "Retry interval in minutes"           , 1    ), +                  ("reload"        , "bool"               , "Reload plugin list"                  , True ), +                  ("reloadinterval", "int"                , "Reload interval in hours"            , 12   )]      __description__ = """Simply-Premium.com hook plugin"""      __license__     = "GPLv3" diff --git a/module/plugins/hooks/SimplydebridCom.py b/module/plugins/hooks/SimplydebridCom.py index 13c957294..10c613fb5 100644 --- a/module/plugins/hooks/SimplydebridCom.py +++ b/module/plugins/hooks/SimplydebridCom.py @@ -6,10 +6,15 @@ from module.plugins.internal.MultiHook import MultiHook  class SimplydebridCom(MultiHook):      __name__    = "SimplydebridCom"      __type__    = "hook" -    __version__ = "0.03" +    __version__ = "0.04" -    __config__ = [("mode", "all;listed;unlisted", "Use for hosters (if supported)", "all"), -                  ("pluginlist", "str", "Hoster list (comma separated)", "")] +    __config__ = [("pluginmode"    , "all;listed;unlisted", "Use for plugins"                     , "all"), +                  ("pluginlist"    , "str"                , "Plugin list (comma separated)"       , ""   ), +                  ("revertfailed"  , "bool"               , "Revert to standard download if fails", True ), +                  ("retry"         , "int"                , "Number of retries before revert"     , 10   ), +                  ("retryinterval" , "int"                , "Retry interval in minutes"           , 1    ), +                  ("reload"        , "bool"               , "Reload plugin list"                  , True ), +                  ("reloadinterval", "int"                , "Reload interval in hours"            , 12   )]      __description__ = """Simply-Debrid.com hook plugin"""      __license__     = "GPLv3" diff --git a/module/plugins/hooks/SmoozedCom.py b/module/plugins/hooks/SmoozedCom.py index 0aff36c0f..4e706c959 100644 --- a/module/plugins/hooks/SmoozedCom.py +++ b/module/plugins/hooks/SmoozedCom.py @@ -6,38 +6,21 @@ from module.plugins.internal.MultiHook import MultiHook  class SmoozedCom(MultiHook):      __name__    = "SmoozedCom"      __type__    = "hook" -    __version__ = "0.01" +    __version__ = "0.02" -    __config__ = [("hosterListMode", "all;listed;unlisted", "Use for hosters (if supported):", "all"), -                  ("hosterList", "str", "Hoster list (comma separated)", ""), -                  ("unloadFailing", "bool", "Revert to stanard download if download fails", False), -                  ("interval", "int", "Reload interval in hours (0 to disable)", 24)] +    __config__ = [("pluginmode"    , "all;listed;unlisted", "Use for plugins"                     , "all"), +                  ("pluginlist"    , "str"                , "Plugin list (comma separated)"       , ""   ), +                  ("revertfailed"  , "bool"               , "Revert to standard download if fails", True ), +                  ("retry"         , "int"                , "Number of retries before revert"     , 10   ), +                  ("retryinterval" , "int"                , "Retry interval in minutes"           , 1    ), +                  ("reload"        , "bool"               , "Reload plugin list"                  , True ), +                  ("reloadinterval", "int"                , "Reload interval in hours"            , 12   )]      __description__ = """Smoozed.com hook plugin"""      __license__     = "GPLv3" -    __authors__     = [] +    __authors__     = [("", "")]      def getHosters(self): -        # If no accounts are available there will be no hosters available -        if not self.account or not self.account.canUse(): -            return [] - -        # Get account data -        (user, data) = self.account.selectAccount() -        account_info = self.account.getAccountInfo(user, True) - -        # Return hoster list -        return account_info["hoster"] - - -    def coreReady(self): -        # Get account plugin and check if there is a valid account available -        self.account = self.core.accountManager.getAccountPlugin("SmoozedCom") -        if not self.account.canUse(): -            self.account = None -            self.logError(_("Please add a valid premiumize.me account first and restart pyLoad")) -            return - -        # Run the overwriten core ready which actually enables the multihook hook -        return MultiHook.coreReady(self) +        user, data = self.account.selectAccount() +        return self.account.getAccountData(user)["hosters"] diff --git a/module/plugins/hooks/UnrestrictLi.py b/module/plugins/hooks/UnrestrictLi.py index e481e8449..cb5abb26e 100644 --- a/module/plugins/hooks/UnrestrictLi.py +++ b/module/plugins/hooks/UnrestrictLi.py @@ -7,13 +7,16 @@ from module.plugins.internal.MultiHook import MultiHook  class UnrestrictLi(MultiHook):      __name__    = "UnrestrictLi"      __type__    = "hook" -    __version__ = "0.04" +    __version__ = "0.05" -    __config__ = [("mode", "all;listed;unlisted", "Use for hosters (if supported)", "all"), -                  ("pluginlist", "str", "Hoster list (comma separated)", ""), -                  ("revertfailed", "bool", "Revert to standard download if download fails", False), -                  ("interval", "int", "Reload interval in hours (0 to disable)", 24), -                  ("history", "bool", "Delete History", False)] +    __config__ = [("pluginmode"    , "all;listed;unlisted", "Use for plugins"                     , "all"), +                  ("pluginlist"    , "str"                , "Plugin list (comma separated)"       , ""   ), +                  ("revertfailed"  , "bool"               , "Revert to standard download if fails", True ), +                  ("retry"         , "int"                , "Number of retries before revert"     , 10   ), +                  ("retryinterval" , "int"                , "Retry interval in minutes"           , 1    ), +                  ("reload"        , "bool"               , "Reload plugin list"                  , True ), +                  ("reloadinterval", "int"                , "Reload interval in hours"            , 12   ), +                  ("history"       , "bool"               , "Delete History"                      , False)]      __description__ = """Unrestrict.li hook plugin"""      __license__     = "GPLv3" @@ -24,6 +27,4 @@ class UnrestrictLi(MultiHook):          json_data = self.getURL("http://unrestrict.li/api/jdownloader/hosts.php", get={'format': "json"})          json_data = json_loads(json_data) -        host_list = [element['host'] for element in json_data['result']] - -        return host_list +        return [element['host'] for element in json_data['result']] diff --git a/module/plugins/hooks/XFileSharingPro.py b/module/plugins/hooks/XFileSharingPro.py index 79e373ad3..73cb0b0eb 100644 --- a/module/plugins/hooks/XFileSharingPro.py +++ b/module/plugins/hooks/XFileSharingPro.py @@ -8,7 +8,7 @@ from module.plugins.Hook import Hook  class XFileSharingPro(Hook):      __name__    = "XFileSharingPro"      __type__    = "hook" -    __version__ = "0.28" +    __version__ = "0.29"      __config__ = [("activated"       , "bool", "Activated"                     , True ),                    ("use_hoster_list" , "bool", "Load listed hosters only"      , False), @@ -23,14 +23,15 @@ class XFileSharingPro(Hook):      # event_list = ["pluginConfigChanged"] -    regexp = {'hoster' : (r'https?://(?:www\.)?([\w.^_]+(?:\.[a-zA-Z]{2,})(?:\:\d+)?)/(?:embed-)?\w{12}(?:\W|$)', -                          r'https?://(?:[^/]+\.)?(%s)/(?:embed-)?\w+'), -              'crypter': (r'https?://(?:www\.)?([\w.^_]+(?:\.[a-zA-Z]{2,})(?:\:\d+)?)/(?:user|folder)s?/\w+', -                          r'https?://(?:[^/]+\.)?(%s)/(?:user|folder)s?/\w+')} +    regexp = {'hoster' : (r'https?://(?:www\.)?(?P<DOMAIN>[\w.^_]+(?:\.[a-zA-Z]{2,})(?:\:\d+)?)/(?:embed-)?\w{12}(?:\W|$)', +                          r'https?://(?:[^/]+\.)?(?P<DOMAIN>%s)/(?:embed-)?\w+'), +              'crypter': (r'https?://(?:www\.)?(?P<DOMAIN>[\w.^_]+(?:\.[a-zA-Z]{2,})(?:\:\d+)?)/(?:user|folder)s?/\w+', +                          r'https?://(?:[^/]+\.)?(?P<DOMAIN>%s)/(?:user|folder)s?/\w+')}      HOSTER_BUILTIN  = [#WORKING HOSTERS: -                       "eyesfile.ca", "file4safe.com", "fileband.com", "filedwon.com", "filevice.com", "hostingbulk.com", -                       "ravishare.com", "salefiles.com", "sharesix.com", "thefile.me", "verzend.be", "xvidstage.com", +                       "180upload.com", "backin.net", "eyesfile.ca", "file4safe.com", "fileband.com", "filedwon.com", +                       "fileparadox.in", "filevice.com", "hostingbulk.com", "linestorage.com", "ravishare.com", "salefiles.com", +                       "sendmyway.com", "sharesix.com", "thefile.me", "verzend.be", "xvidstage.com",                         #NOT TESTED:                         "101shared.com", "4upfiles.com", "filemaze.ws", "filenuke.com", "linkzhost.com", "mightyupload.com",                         "rockdizfile.com", "sharebeast.com", "sharerepo.com", "shareswift.com", "uploadbaz.com", "uploadc.com", @@ -82,7 +83,7 @@ class XFileSharingPro(Hook):                  len_match_list = len(plugin_list)                  self.logInfo(_("Handling %d %s%s: %s") % (len_match_list,                                                            type, -                                                          "" if len_match_list is 1 else "s", +                                                          "" if len_match_list == 1 else "s",                                                            match_list.replace('|', ', ')))                  pattern = self.regexp[type][1] % match_list.replace('.', '\.') @@ -109,7 +110,7 @@ class XFileSharingPro(Hook):      def unloadHoster(self, hoster):          hdict = self.core.pluginManager.hosterPlugins[hoster] -        if "new_name" in hdict and hdict['new_name'] is "XFileSharingPro": +        if "new_name" in hdict and hdict['new_name'] == "XFileSharingPro":              if "module" in hdict:                  del hdict['module'] @@ -123,7 +124,7 @@ class XFileSharingPro(Hook):      # def downloadFailed(self, pyfile): -        # if pyfile.pluginname is "BasePlugin" \ +        # if pyfile.pluginname == "BasePlugin" \             # and pyfile.hasStatus("failed") \             # and not self.getConfig("use_hoster_list") \             # and self.unloadHoster("BasePlugin"): diff --git a/module/plugins/hooks/ZeveraCom.py b/module/plugins/hooks/ZeveraCom.py index 51f759b1c..215ec3673 100644 --- a/module/plugins/hooks/ZeveraCom.py +++ b/module/plugins/hooks/ZeveraCom.py @@ -6,16 +6,22 @@ from module.plugins.internal.MultiHook import MultiHook  class ZeveraCom(MultiHook):      __name__    = "ZeveraCom"      __type__    = "hook" -    __version__ = "0.04" +    __version__ = "0.05" -    __config__ = [("mode", "all;listed;unlisted", "Use for hosters (if supported)", "all"), -                  ("pluginlist", "str", "Hoster list (comma separated)", "")] +    __config__ = [("pluginmode"    , "all;listed;unlisted", "Use for plugins"                     , "all"), +                  ("pluginlist"    , "str"                , "Plugin list (comma separated)"       , ""   ), +                  ("revertfailed"  , "bool"               , "Revert to standard download if fails", True ), +                  ("retry"         , "int"                , "Number of retries before revert"     , 10   ), +                  ("retryinterval" , "int"                , "Retry interval in minutes"           , 1    ), +                  ("reload"        , "bool"               , "Reload plugin list"                  , True ), +                  ("reloadinterval", "int"                , "Reload interval in hours"            , 12   )] -    __description__ = """Real-Debrid.com hook plugin""" +    __description__ = """Zevera.com hook plugin"""      __license__     = "GPLv3" -    __authors__     = [("zoidberg", "zoidberg@mujmail.cz")] +    __authors__     = [("zoidberg", "zoidberg@mujmail.cz"), +                       ("Walter Purcaro", "vuolter@gmail.com")]      def getHosters(self): -        page = self.getURL("http://www.zevera.com/jDownloader.ashx", get={'cmd': "gethosters"}) -        return [x.strip() for x in page.replace("\"", "").split(",")] +        html = self.account.api_response(pyreq.getHTTPRequest(timeout=120), cmd="gethosters") +        return [x.strip() for x in html.split(",")]  | 
