diff options
| author | 2013-11-03 14:16:45 +0100 | |
|---|---|---|
| committer | 2013-11-03 14:16:45 +0100 | |
| commit | 78f6e231b9be3e0376a584b260f035978eb4ff58 (patch) | |
| tree | 52eb31183965e5743a9f01a699aaf3caeff74652 /module/plugins/hooks | |
| parent | Merge pull request #351 from AndroKev/stable (diff) | |
| download | pyload-78f6e231b9be3e0376a584b260f035978eb4ff58.tar.xz | |
New multi-hoster: RPNetBiz
Merged #339
Diffstat (limited to 'module/plugins/hooks')
| -rw-r--r-- | module/plugins/hooks/RPNetBiz.py | 47 | 
1 files changed, 47 insertions, 0 deletions
| diff --git a/module/plugins/hooks/RPNetBiz.py b/module/plugins/hooks/RPNetBiz.py new file mode 100644 index 000000000..69976ffc9 --- /dev/null +++ b/module/plugins/hooks/RPNetBiz.py @@ -0,0 +1,47 @@ +from module.plugins.internal.MultiHoster import MultiHoster +from module.common.json_layer import json_loads +from module.network.RequestFactory import getURL + + +class RPNetBiz(MultiHoster): +    __name__ = "RPNetBiz" +    __version__ = "0.1" +    __type__ = "hook" +    __description__ = """RPNet.Biz hook plugin""" +    __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 stanard download if download fails", "False"), +                  ("interval", "int", "Reload interval in hours (0 to disable)", "24")] +    __author_name__ = ("Dman") +    __author_mail__ = ("dmanugm@gmail.com") + +    def getHoster(self): +        # No hosts supported if no account +        if not self.account or not self.account.canUse(): +            return [] + +        # Get account data +        (user, data) = self.account.selectAccount() + +        response = getURL("https://premium.rpnet.biz/client_api.php", +                          get={"username": user, "password": data['password'], "action": "showHosterList"}) +        hoster_list = json_loads(response) + +        # If account is not valid thera are no hosters available +        if 'error' in hoster_list: +            return [] + +        # Extract hosters from json file  +        return hoster_list['hosters'] + +    def coreReady(self): +        # Get account plugin and check if there is a valid account available +        self.account = self.core.accountManager.getAccountPlugin("RPNetBiz") +        if not self.account.canUse(): +            self.account = None +            self.logError(_("Please enter your %s account or deactivate this plugin") % "rpnet") +            return + +        # Run the overwriten core ready which actually enables the multihoster hook  +        return MultiHoster.coreReady(self) | 
