From df0b35be0bc0e2b13be8c6787bbce03082f0e08e Mon Sep 17 00:00:00 2001 From: zoidberg10 Date: Thu, 27 Sep 2012 20:28:32 +0200 Subject: add filebeer.info/fastshare.cz/quickshare.cz premium, closed #688 --- module/plugins/accounts/CramitIn.py | 12 +++++ module/plugins/accounts/FastshareCz.py | 52 ++++++++++++++++++ module/plugins/accounts/FilebeerInfo.py | 57 ++++++++++++++++++++ module/plugins/accounts/FilerioCom.py | 12 +++++ module/plugins/accounts/QuickshareCz.py | 53 ++++++++++++++++++ module/plugins/accounts/RarefileNet.py | 12 +++++ module/plugins/hoster/CramitIn.py | 4 +- module/plugins/hoster/FastshareCz.py | 20 ++++++- module/plugins/hoster/FilebeerInfo.py | 46 ++++++++++------ module/plugins/hoster/FilerioCom.py | 12 ++--- module/plugins/hoster/QuickshareCz.py | 95 ++++++++++++++++++++++----------- module/plugins/hoster/RarefileNet.py | 6 ++- 12 files changed, 322 insertions(+), 59 deletions(-) create mode 100644 module/plugins/accounts/CramitIn.py create mode 100644 module/plugins/accounts/FastshareCz.py create mode 100644 module/plugins/accounts/FilebeerInfo.py create mode 100644 module/plugins/accounts/FilerioCom.py create mode 100644 module/plugins/accounts/QuickshareCz.py create mode 100644 module/plugins/accounts/RarefileNet.py (limited to 'module/plugins') diff --git a/module/plugins/accounts/CramitIn.py b/module/plugins/accounts/CramitIn.py new file mode 100644 index 000000000..182c9d647 --- /dev/null +++ b/module/plugins/accounts/CramitIn.py @@ -0,0 +1,12 @@ +# -*- coding: utf-8 -*- +from module.plugins.internal.XFSPAccount import XFSPAccount + +class CramitIn(XFSPAccount): + __name__ = "CramitIn" + __version__ = "0.01" + __type__ = "account" + __description__ = """cramit.in account plugin""" + __author_name__ = ("zoidberg") + __author_mail__ = ("zoidberg@mujmail.cz") + + MAIN_PAGE = "http://cramit.in/" \ No newline at end of file diff --git a/module/plugins/accounts/FastshareCz.py b/module/plugins/accounts/FastshareCz.py new file mode 100644 index 000000000..333ee3761 --- /dev/null +++ b/module/plugins/accounts/FastshareCz.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- + +""" + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, + or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see . + + @author: zoidberg +""" + +import re +from module.plugins.Account import Account +from module.utils import parseFileSize + +class FastshareCz(Account): + __name__ = "FastshareCz" + __version__ = "0.01" + __type__ = "account" + __description__ = """fastshare.cz account plugin""" + __author_name__ = ("zoidberg") + __author_mail__ = ("zoidberg@mujmail.cz") + + def loadAccountInfo(self, user, req): + html = req.load("http://www.fastshare.cz/user", decode = True) + + found = re.search(r'Kredit: (.+?) ', html) + if found: + trafficleft = parseFileSize(found.group(1)) / 1024 + premium = True if trafficleft else False + else: + trafficleft = None + premium = False + + return {"validuntil": -1, "trafficleft": trafficleft, "premium": premium} + + def login(self, user, data, req): + html = req.load('http://www.fastshare.cz/sql.php', post = { + "heslo": data['password'], + "login": user + }, decode = True) + + if u'>Špatné uživatelské jméno nebo heslo.<' in html: + self.wrongPassword() \ No newline at end of file diff --git a/module/plugins/accounts/FilebeerInfo.py b/module/plugins/accounts/FilebeerInfo.py new file mode 100644 index 000000000..9cfdb867c --- /dev/null +++ b/module/plugins/accounts/FilebeerInfo.py @@ -0,0 +1,57 @@ +# -*- coding: utf-8 -*- + +""" + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, + or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. + See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, see . + + @author: zoidberg +""" + +import re +from time import mktime, strptime +from module.plugins.Account import Account +from module.utils import parseFileSize + +class FilebeerInfo(Account): + __name__ = "FilebeerInfo" + __version__ = "0.01" + __type__ = "account" + __description__ = """filebeer.info account plugin""" + __author_name__ = ("zoidberg") + __author_mail__ = ("zoidberg@mujmail.cz") + + VALID_UNTIL_PATTERN = r'Reverts To Free Account:\s\s*\s*(.*?)\s*' + + def loadAccountInfo(self, user, req): + html = req.load("http://filebeer.info/upgrade.php", decode = True) + premium = 'Paid User ' in html + + validuntil = None + if premium: + try: + validuntil = mktime(strptime(re.search(self.VALID_UNTIL_PATTERN, html).group(1), "%d/%m/%Y %H:%M:%S")) + except Exception, e: + self.logError(e) + + return {"validuntil": validuntil, "trafficleft": -1, "premium": premium} + + def login(self, user, data, req): + html = req.load('http://filebeer.info/login.php', post = { + "submit": 'Login', + "loginPassword": data['password'], + "loginUsername": user, + "submitme": '1' + }, decode = True) + + if "