# -*- coding: utf-8 -*- import re import time import urlparse from module.plugins.internal.Account import Account from module.plugins.internal.misc import parse_html_form class EuroshareEu(Account): __name__ = "EuroshareEu" __type__ = "account" __version__ = "0.10" __status__ = "testing" __description__ = """Euroshare.eu account plugin""" __license__ = "GPLv3" __authors__ = [("zoidberg", "zoidberg@mujmail.cz" ), ("GammaC0de", "nitzo2001[AT]yahoo[DOT]com")] def grab_info(self, user, password, data): html = self.load("http://euroshare.eu/", get={'lang': "en"}) m = re.search(r'<span title="Premium do: (\d+\.\d+\.\d+ \d+:\d+:\d+)"', html) if m is None: premium = False validuntil = -1 else: premium = True validuntil = time.mktime(time.strptime(m.group(1), "%d.%m.%Y %H:%M:%S")) return {'validuntil': validuntil, 'trafficleft': -1, 'premium': premium} def signin(self, user, password, data): login_url = "http://euroshare.eu/user/login/" html = self.load(login_url, get={'lang' : "en"}) if r'<li class="logout">' in html: self.skip_login() action, inputs = parse_html_form('id="frm-prihlaseni"', html) if not inputs: self.fail_login(_("Login form not found")) inputs['username'] = user inputs['password'] = password html = self.load(urlparse.urljoin(login_url, action), post=inputs) if r'<li class="logout">' not in html: self.fail_login()