diff options
Diffstat (limited to 'module/plugins/internal/XFSPAccount.py')
-rw-r--r-- | module/plugins/internal/XFSPAccount.py | 41 |
1 files changed, 21 insertions, 20 deletions
diff --git a/module/plugins/internal/XFSPAccount.py b/module/plugins/internal/XFSPAccount.py index 8333c7265..e4f211216 100644 --- a/module/plugins/internal/XFSPAccount.py +++ b/module/plugins/internal/XFSPAccount.py @@ -13,7 +13,7 @@ You should have received a copy of the GNU General Public License along with this program; if not, see <http://www.gnu.org/licenses/>. - + @author: zoidberg """ @@ -23,6 +23,7 @@ from module.plugins.Account import Account from module.plugins.internal.SimpleHoster import parseHtmlForm from module.utils import parseFileSize + class XFSPAccount(Account): __name__ = "XFSPAccount" __version__ = "0.05" @@ -30,18 +31,18 @@ class XFSPAccount(Account): __description__ = """XFileSharingPro account base""" __author_name__ = ("zoidberg") __author_mail__ = ("zoidberg@mujmail.cz") - + MAIN_PAGE = None - + VALID_UNTIL_PATTERN = r'>Premium.[Aa]ccount expire:</TD><TD><b>([^<]+)</b>' TRAFFIC_LEFT_PATTERN = r'>Traffic available today:</TD><TD><b>([^<]+)</b>' - - def loadAccountInfo(self, user, req): - html = req.load(self.MAIN_PAGE + "?op=my_account", decode = True) - + + def loadAccountInfo(self, user, req): + html = req.load(self.MAIN_PAGE + "?op=my_account", decode=True) + validuntil = trafficleft = None premium = True if '>Renew premium<' in html else False - + found = re.search(self.VALID_UNTIL_PATTERN, html) if found: premium = True @@ -58,22 +59,22 @@ class XFSPAccount(Account): if "Unlimited" in trafficleft: premium = True else: - trafficleft = parseFileSize(trafficleft) / 1024 - + trafficleft = parseFileSize(trafficleft) / 1024 + return ({"validuntil": validuntil, "trafficleft": trafficleft, "premium": premium}) - + def login(self, user, data, req): - html = req.load('%slogin.html' % self.MAIN_PAGE, decode = True) - + html = req.load('%slogin.html' % self.MAIN_PAGE, decode=True) + action, inputs = parseHtmlForm('name="FL"', html) if not inputs: inputs = {"op": "login", - "redirect": self.MAIN_PAGE} - + "redirect": self.MAIN_PAGE} + inputs.update({"login": user, "password": data['password']}) - - html = req.load(self.MAIN_PAGE, post = inputs, decode = True) - - if 'Incorrect Login or Password' in html or '>Error<' in html: - self.wrongPassword()
\ No newline at end of file + + html = req.load(self.MAIN_PAGE, post=inputs, decode=True) + + if 'Incorrect Login or Password' in html or '>Error<' in html: + self.wrongPassword() |