diff options
| author | 2013-07-26 18:00:33 +0200 | |
|---|---|---|
| committer | 2013-07-28 19:54:24 +0200 | |
| commit | 0c1ba8c3a31c96c723702028bb683d26b97ee8bb (patch) | |
| tree | 445b98309ce909e4bfaa99d859dbfb2a2c4c6112 /module/plugins | |
| parent | Merge branch 'stable' of git://github.com/Dinawhk/pyload into Dinawhk-stable (diff) | |
| download | pyload-0c1ba8c3a31c96c723702028bb683d26b97ee8bb.tar.xz | |
Fastfix: renamed and code cleanup
(cherry picked from commit 5eb39bfefee30c4ff26d7aff680543c1d3611fba)
Diffstat (limited to 'module/plugins')
| -rw-r--r-- | module/plugins/accounts/FastixRu.py (renamed from module/plugins/accounts/Fastix.py) | 65 | ||||
| -rw-r--r-- | module/plugins/hooks/FastixRu.py (renamed from module/plugins/hooks/Fastix.py) | 15 | ||||
| -rw-r--r-- | module/plugins/hoster/FastixRu.py (renamed from module/plugins/hoster/Fastix.py) | 134 | 
3 files changed, 105 insertions, 109 deletions
| diff --git a/module/plugins/accounts/Fastix.py b/module/plugins/accounts/FastixRu.py index 862815a84..3e1896e44 100644 --- a/module/plugins/accounts/Fastix.py +++ b/module/plugins/accounts/FastixRu.py @@ -1,33 +1,32 @@ -from module.plugins.Account import Account
 -from module.common.json_layer import json_loads
 -
 -class Fastix(Account):
 -    __name__ = "Fastix"
 -    __version__ = "0.02"
 -    __type__ = "account"
 -    __description__ = """Fastix account plugin"""
 -    __author_name__ = ("Massimo, Rosamilia")
 -    __author_mail__ = ("max@spiritix.eu")
 -
 -    def loadAccountInfo(self, user, req):
 -        data = self.getAccountData(user)
 -        page = req.load("http://fastix.ru/api_v2/?apikey=%s&sub=getaccountdetails" % (data["api"]))
 -        page = json_loads(page)
 -        points = page['points']
 -        kb = float(points)
 -        kb = kb * 1024 ** 2 / 1000
 -        if points > 0:
 -            account_info = {"validuntil": -1, "trafficleft": kb}
 -        else:
 -            account_info = {"validuntil": None, "trafficleft": None, "premium": False}
 -        return account_info
 -
 -
 -    def login(self, user, data, req):      
 -        page = req.load("http://fastix.ru/api_v2/?sub=get_apikey&email=%s&password=%s" % (user, data["password"]))
 -        api = json_loads(page)
 -        api = api['apikey']
 -        data["api"] = api
 -        if "error_code" in page:
 -            self.wrongPassword()
 -            
\ No newline at end of file +from module.plugins.Account import Account +from module.common.json_layer import json_loads + + +class FastixRu(Account): +    __name__ = "FastixRu" +    __version__ = "0.02" +    __type__ = "account" +    __description__ = """Fastix account plugin""" +    __author_name__ = ("Massimo, Rosamilia") +    __author_mail__ = ("max@spiritix.eu") + +    def loadAccountInfo(self, user, req): +        data = self.getAccountData(user) +        page = req.load("http://fastix.ru/api_v2/?apikey=%s&sub=getaccountdetails" % (data["api"])) +        page = json_loads(page) +        points = page['points'] +        kb = float(points) +        kb = kb * 1024 ** 2 / 1000 +        if points > 0: +            account_info = {"validuntil": -1, "trafficleft": kb} +        else: +            account_info = {"validuntil": None, "trafficleft": None, "premium": False} +        return account_info + +    def login(self, user, data, req): +        page = req.load("http://fastix.ru/api_v2/?sub=get_apikey&email=%s&password=%s" % (user, data["password"])) +        api = json_loads(page) +        api = api['apikey'] +        data["api"] = api +        if "error_code" in page: +            self.wrongPassword() diff --git a/module/plugins/hooks/Fastix.py b/module/plugins/hooks/FastixRu.py index 2d2d09e38..25c9a1a67 100644 --- a/module/plugins/hooks/Fastix.py +++ b/module/plugins/hooks/FastixRu.py @@ -7,22 +7,21 @@ from module.plugins.internal.MultiHoster import MultiHoster  from module.common.json_layer import json_loads -class Fastix(MultiHoster): -    __name__ = "Fastix" +class FastixRu(MultiHoster): +    __name__ = "FastixRu"      __version__ = "0.02"      __type__ = "hook" -      __config__ = [("activated", "bool", "Activated", "False"),                    ("hosterListMode", "all;listed;unlisted", "Use for hosters (if supported)", "all"),                    ("unloadFailing", "bool", "Revert to standard download if download fails", "False"),                    ("interval", "int", "Reload interval in hours (0 to disable)", "24")] -      __description__ = """Fastix hook plugin"""      __author_name__ = ("Massimo, Rosamilia")      __author_mail__ = ("max@spiritix.eu")      def getHoster(self): -        page = getURL("http://fastix.ru/api_v2/?apikey=5182964c3f8f9a7f0b00000a_kelmFB4n1IrnCDYuIFn2y&sub=allowed_sources") -        list = json_loads(page) -        list = list['allow'] -        return list
\ No newline at end of file +        page = getURL( +            "http://fastix.ru/api_v2/?apikey=5182964c3f8f9a7f0b00000a_kelmFB4n1IrnCDYuIFn2y&sub=allowed_sources") +        host_list = json_loads(page) +        host_list = host_list['allow'] +        return host_list diff --git a/module/plugins/hoster/Fastix.py b/module/plugins/hoster/FastixRu.py index 5ebd63c44..4d3e7b93d 100644 --- a/module/plugins/hoster/Fastix.py +++ b/module/plugins/hoster/FastixRu.py @@ -1,68 +1,66 @@ -# -*- coding: utf-8 -*-
 -
 -import re
 -from urllib import unquote
 -from random import randrange
 -from module.plugins.Hoster import Hoster
 -from module.common.json_layer import json_loads
 -from module.utils import parseFileSize
 -
 -
 -
 -class Fastix(Hoster):
 -    __name__ = "Fastix"
 -    __version__ = "0.02"
 -    __type__ = "hoster"
 -
 -    __pattern__ = r"http?://.*fastix.ru\..*"
 -    __description__ = """Fastix hoster plugin"""
 -    __author_name__ = ("Massimo, Rosamilia")
 -    __author_mail__ = ("max@spiritix.eu")
 -
 -    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.chunkLimit = 3
 -        self.resumeDownload = True
 -
 -    def process(self, pyfile):
 -        if not self.account:
 -            self.fail("No Fastix account provided")
 -
 -        self.logDebug("Old URL: %s" % pyfile.url)
 -        if re.match(self.__pattern__, pyfile.url):
 -            new_url = pyfile.url
 -        else:
 -            api_key = self.account.getAccountData(self.user)
 -            api_key = api_key["api"]
 -            url = "http://fastix.ru/api_v2/?apikey=%s&sub=getdirectlink&link=%s" % (api_key,pyfile.url)
 -            page = self.load(url)
 -            data = json_loads(page)
 -            self.logDebug("Json data: %s" % str(data))
 -            if "error\":true" in page:
 -                self.offline()
 -            else:
 -                new_url = data["downloadlink"]
 -
 -        self.logDebug("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": "<title>An error occurred while processing your request</title>",
 -                                    "empty": re.compile(r"^$")})
 -
 -        if check == "error":
 -            self.retry(reason="An error occurred while generating link.", wait_time=60)
 -        elif check == "empty":
 -            self.retry(reason="Downloaded File was empty.", wait_time=60)
 +# -*- coding: utf-8 -*- + +import re +from urllib import unquote +from random import randrange +from module.plugins.Hoster import Hoster +from module.common.json_layer import json_loads + + +class FastixRu(Hoster): +    __name__ = "FastixRu" +    __version__ = "0.02" +    __type__ = "hoster" +    __pattern__ = r"http?://.*fastix.ru\..*" +    __description__ = """Fastix hoster plugin""" +    __author_name__ = ("Massimo, Rosamilia") +    __author_mail__ = ("max@spiritix.eu") + +    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.chunkLimit = 3 +        self.resumeDownload = True + +    def process(self, pyfile): +        if not self.account: +            self.logError(_("Please enter your %s account or deactivate this plugin") % "Fastix") +            self.fail("No Fastix account provided") + +        self.logDebug("Old URL: %s" % pyfile.url) +        if re.match(self.__pattern__, pyfile.url): +            new_url = pyfile.url +        else: +            api_key = self.account.getAccountData(self.user) +            api_key = api_key["api"] +            url = "http://fastix.ru/api_v2/?apikey=%s&sub=getdirectlink&link=%s" % (api_key, pyfile.url) +            page = self.load(url) +            data = json_loads(page) +            self.logDebug("Json data: %s" % str(data)) +            if "error\":true" in page: +                self.offline() +            else: +                new_url = data["downloadlink"] + +        self.logDebug("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": "<title>An error occurred while processing your request</title>", +                                    "empty": re.compile(r"^$")}) + +        if check == "error": +            self.retry(reason="An error occurred while generating link.", wait_time=60) +        elif check == "empty": +            self.retry(reason="Downloaded File was empty.", wait_time=60) | 
