# -*- coding: utf-8 -*- import re import time from module.plugins.Account import Account class MegaRapidCz(Account): __name__ = "MegaRapidCz" __type__ = "account" __version__ = "0.35" __description__ = """MegaRapid.cz account plugin""" __license__ = "GPLv3" __authors__ = [("MikyWoW", "mikywow@seznam.cz"), ("zoidberg", "zoidberg@mujmail.cz")] login_timeout = 60 LIMITDL_PATTERN = ur'Max. počet paralelních stahování: (\d+)' VALID_UNTIL_PATTERN = ur'Paušální stahování aktivní. Vyprší (.*?)' TRAFFIC_LEFT_PATTERN = r'Kredit(.*?) GiB' def loadAccountInfo(self, user, req): htmll = req.load("http://megarapid.cz/mujucet/", decode=True) m = re.search(self.LIMITDL_PATTERN, htmll) if m: data = self.getAccountData(user) data['options']['limitDL'] = [int(m.group(1))] m = re.search(self.VALID_UNTIL_PATTERN, htmll) if m: validuntil = time.mktime(time.strptime(m.group(1), "%d.%m.%Y - %H:%M")) return {"premium": True, "trafficleft": -1, "validuntil": validuntil} m = re.search(self.TRAFFIC_LEFT_PATTERN, htmll) if m: trafficleft = float(m.group(1)) * (1 << 20) return {"premium": True, "trafficleft": trafficleft, "validuntil": -1} return {"premium": False, "trafficleft": None, "validuntil": None} def login(self, user, data, req): html = req.load("http://megarapid.cz/prihlaseni/", decode=True) if "Heslo:" in html: start = html.index('id="inp_hash" name="hash" value="') html = html[start + 33:] hashes = html[0:32] html = req.load("http://megarapid.cz/prihlaseni/", post={"hash": hashes, "login": user, "pass1": data['password'], "remember": 0, "sbmt": u"Přihlásit"})