from module.plugins.internal.MultiHoster import MultiHoster from module.common.json_layer import json_loads from module.network.RequestFactory import getURL class ReloadCc(MultiHoster): __name__ = "ReloadCc" __version__ = "0.3" __type__ = "hook" __description__ = """Reload.cc hook plugin""" __config__ = [("activated", "bool", "Activated", "False"), ("hosterListMode", "all;listed;unlisted", "Use for hosters (if supported):", "all"), ("hosterList", "str", "Hoster list (comma separated)", "")] __author_name__ = ("Reload Team") __author_mail__ = ("hello@reload.cc") interval = 0 # Disable periodic calls def getHoster(self): # If no accounts are available there will be no hosters available if not self.account or not self.account.canUse(): print "ReloadCc: No accounts available" return [] # Get account data (user, data) = self.account.selectAccount() # Get supported hosters list from reload.cc using the json API v1 query_params = dict( via='pyload', v=1, get_supported='true', get_traffic='true', user=user ) try: query_params.update(dict(hash=self.account.infos[user]['pwdhash'])) except Exception: query_params.update(dict(pwd=data['password'])) answer = getURL("http://api.reload.cc/login", get=query_params) data = json_loads(answer) # If account is not valid thera are no hosters available if data['status'] != "ok": print "ReloadCc: Status is not ok: %s" % data['status'] return [] # Extract hosters from json file return data['msg']['supportedHosters'] def coreReady(self): # Get account plugin and check if there is a valid account available self.account = self.core.accountManager.getAccountPlugin("ReloadCc") if not self.account.canUse(): self.account = None self.logError("Please add a valid reload.cc account first and restart pyLoad.") return # Run the overwriten core ready which actually enables the multihoster hook return MultiHoster.coreReady(self)