diff options
Diffstat (limited to 'module/plugins/accounts')
-rw-r--r-- | module/plugins/accounts/CzshareCom.py | 41 | ||||
-rw-r--r-- | module/plugins/accounts/FastshareCz.py | 28 | ||||
-rw-r--r-- | module/plugins/accounts/FilefactoryCom.py | 10 |
3 files changed, 40 insertions, 39 deletions
diff --git a/module/plugins/accounts/CzshareCom.py b/module/plugins/accounts/CzshareCom.py index e68248aa8..7b1a8edc5 100644 --- a/module/plugins/accounts/CzshareCom.py +++ b/module/plugins/accounts/CzshareCom.py @@ -17,42 +17,41 @@ @author: zoidberg """ -from module.plugins.Account import Account from time import mktime, strptime -from string import replace import re +from module.plugins.Account import Account + + class CzshareCom(Account): __name__ = "CzshareCom" - __version__ = "0.11" + __version__ = "0.13" __type__ = "account" __description__ = """czshare.com account plugin""" - __author_name__ = ("zoidberg") - __author_mail__ = ("zoidberg@mujmail.cz") - + __author_name__ = ("zoidberg", "stickell") + __author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it") + CREDIT_LEFT_PATTERN = r'<tr class="active">\s*<td>([0-9 ,]+) (KiB|MiB|GiB)</td>\s*<td>([^<]*)</td>\s*</tr>' def loadAccountInfo(self, user, req): - self.relogin(user) html = req.load("http://czshare.com/prehled_kreditu/") - + found = re.search(self.CREDIT_LEFT_PATTERN, html) - if found is None: - credits, validuntil = 0, 0 + if not found: + return {"validuntil": 0, "trafficleft": 0} else: - credits = float(found.group(1).replace(' ', '').replace(',','.')) - credits = credits * 1024**{'KiB' : 0, 'MiB' : 1, 'GiB' : 2}[found.group(2)] + credits = float(found.group(1).replace(' ', '').replace(',', '.')) + credits = credits * 1024 ** {'KiB': 0, 'MiB': 1, 'GiB': 2}[found.group(2)] validuntil = mktime(strptime(found.group(3), '%d.%m.%y %H:%M')) - - return {"validuntil": validuntil, "trafficleft": credits} - + return {"validuntil": validuntil, "trafficleft": credits} + def login(self, user, data, req): - + html = req.load('https://czshare.com/index.php', post={ - "Prihlasit": "Prihlasit", - "login-password": data["password"], - "login-name": user - }) - + "Prihlasit": "Prihlasit", + "login-password": data["password"], + "login-name": user + }) + if '<div class="login' in html: self.wrongPassword() diff --git a/module/plugins/accounts/FastshareCz.py b/module/plugins/accounts/FastshareCz.py index 333ee3761..69bbb0827 100644 --- a/module/plugins/accounts/FastshareCz.py +++ b/module/plugins/accounts/FastshareCz.py @@ -21,32 +21,34 @@ import re from module.plugins.Account import Account from module.utils import parseFileSize + class FastshareCz(Account): __name__ = "FastshareCz" - __version__ = "0.01" + __version__ = "0.02" __type__ = "account" __description__ = """fastshare.cz account plugin""" - __author_name__ = ("zoidberg") - __author_mail__ = ("zoidberg@mujmail.cz") - + __author_name__ = ("zoidberg", "stickell") + __author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it") + def loadAccountInfo(self, user, req): - html = req.load("http://www.fastshare.cz/user", decode = True) - - found = re.search(r'Kredit: </td><td>(.+?) ', html) + html = req.load("http://www.fastshare.cz/user", decode=True) + + found = re.search(r'(?:Kredit|Credit)\s*: </td><td>(.+?) ', html) if found: - trafficleft = parseFileSize(found.group(1)) / 1024 + trafficleft = parseFileSize(found.group(1)) / 1024 premium = True if trafficleft else False else: trafficleft = None - premium = False + 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 = { + req.load('http://www.fastshare.cz/login') # Do not remove or it will not login + html = req.load('http://www.fastshare.cz/sql.php', post={ "heslo": data['password'], "login": user - }, decode = True) - + }, 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/FilefactoryCom.py b/module/plugins/accounts/FilefactoryCom.py index 356c5d22a..8e163e2f6 100644 --- a/module/plugins/accounts/FilefactoryCom.py +++ b/module/plugins/accounts/FilefactoryCom.py @@ -23,13 +23,13 @@ from time import mktime, strptime class FilefactoryCom(Account): __name__ = "FilefactoryCom" - __version__ = "0.12" + __version__ = "0.13" __type__ = "account" __description__ = """filefactory.com account plugin""" - __author_name__ = ("zoidberg") - __author_mail__ = ("zoidberg@mujmail.cz") + __author_name__ = ("zoidberg", "stickell") + __author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it") - ACCOUNT_INFO_PATTERN = r'<a href="/premium/">.*?datetime="(.*?)"' + ACCOUNT_INFO_PATTERN = r'<time datetime="([\d-]+)">' def loadAccountInfo(self, user, req): html = req.load("http://www.filefactory.com/member/") @@ -37,7 +37,7 @@ class FilefactoryCom(Account): found = re.search(self.ACCOUNT_INFO_PATTERN, html) if found: premium = True - validuntil = mktime(strptime(re.sub(r"(\d)[a-z]{2} ", r"\1 ", found.group(1)),"%d %B, %Y")) + validuntil = mktime(strptime(found.group(1),"%Y-%m-%d")) else: premium = False validuntil = -1 |