diff options
author | 2014-04-21 17:26:28 +0200 | |
---|---|---|
committer | 2014-04-21 17:26:28 +0200 | |
commit | e88c477d1ae3913096b92f41274ef578693bc052 (patch) | |
tree | fca8eb2f696afbaeb11c7bb61b38aca584a0b0d7 /pyload/plugins/accounts | |
parent | CaptchaService: fixed missing import (diff) | |
download | pyload-e88c477d1ae3913096b92f41274ef578693bc052.tar.xz |
Moving new plugins from module to pyload
Diffstat (limited to 'pyload/plugins/accounts')
-rw-r--r-- | pyload/plugins/accounts/FreeWayMe.py | 67 | ||||
-rw-r--r-- | pyload/plugins/accounts/OverLoadMe.py | 33 | ||||
-rw-r--r-- | pyload/plugins/accounts/SimplyPremiumCom.py | 58 | ||||
-rw-r--r-- | pyload/plugins/accounts/Vipleech4uCom.py | 41 |
4 files changed, 199 insertions, 0 deletions
diff --git a/pyload/plugins/accounts/FreeWayMe.py b/pyload/plugins/accounts/FreeWayMe.py new file mode 100644 index 000000000..955cc3c7f --- /dev/null +++ b/pyload/plugins/accounts/FreeWayMe.py @@ -0,0 +1,67 @@ +# -*- 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 <http://www.gnu.org/licenses/>. + + @author: Nicolas Giese +""" + +from module.plugins.Account import Account +from module.common.json_layer import json_loads + + +class FreeWayMe(Account): + __name__ = "FreeWayMe" + __version__ = "0.11" + __type__ = "account" + __description__ = """FreeWayMe account plugin""" + __author_name__ = "Nicolas Giese" + __author_mail__ = "james@free-way.me" + + def loadAccountInfo(self, user, req): + status = self.getAccountStatus(user, req) + if not status: + return False + self.logDebug(status) + + account_info = {"validuntil": -1, "premium": False} + if status["premium"] == "Free": + account_info["trafficleft"] = int(status["guthaben"]) * 1024 + elif status["premium"] == "Spender": + account_info["trafficleft"] = -1 + elif status["premium"] == "Flatrate": + account_info = {"validuntil": int(status["Flatrate"]), + "trafficleft": -1, + "premium": True} + + return account_info + + def getpw(self, user): + return self.accounts[user]["password"] + + def login(self, user, data, req): + status = self.getAccountStatus(user, req) + + # Check if user and password are valid + if not status: + self.wrongPassword() + + def getAccountStatus(self, user, req): + answer = req.load("https://www.free-way.me/ajax/jd.php", + get={"id": 4, "user": user, "pass": self.accounts[user]["password"]}) + self.logDebug("login: %s" % answer) + if answer == "Invalid login": + self.wrongPassword() + return False + return json_loads(answer) diff --git a/pyload/plugins/accounts/OverLoadMe.py b/pyload/plugins/accounts/OverLoadMe.py new file mode 100644 index 000000000..eab20480f --- /dev/null +++ b/pyload/plugins/accounts/OverLoadMe.py @@ -0,0 +1,33 @@ +# -*- coding: utf-8 -*- + +from module.plugins.Account import Account +from module.common.json_layer import json_loads + + +class OverLoadMe(Account): + __name__ = "OverLoadMe" + __version__ = "0.01" + __type__ = "account" + __description__ = """Over-Load.me account plugin""" + __author_name__ = "marley" + __author_mail__ = "marley@over-load.me" + + def loadAccountInfo(self, user, req): + data = self.getAccountData(user) + page = req.load("https://api.over-load.me/account.php", get={"user": user, "auth": data["password"]}).strip() + data = json_loads(page) + + # Check for premium + if data["membership"] == "Free": + return {"premium": False} + + account_info = {"validuntil": data["expirationunix"], "trafficleft": -1} + return account_info + + def login(self, user, data, req): + jsondata = req.load("https://api.over-load.me/account.php", + get={"user": user, "auth": data["password"]}).strip() + data = json_loads(jsondata) + + if data["err"] == 1: + self.wrongPassword() diff --git a/pyload/plugins/accounts/SimplyPremiumCom.py b/pyload/plugins/accounts/SimplyPremiumCom.py new file mode 100644 index 000000000..1e6d66806 --- /dev/null +++ b/pyload/plugins/accounts/SimplyPremiumCom.py @@ -0,0 +1,58 @@ +# -*- coding: utf-8 -*- + +############################################################################ +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU Affero 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 Affero General Public License for more details. # +# # +# You should have received a copy of the GNU Affero General Public License # +# along with this program. If not, see <http://www.gnu.org/licenses/>. # +############################################################################ + +from module.plugins.Account import Account +from module.common.json_layer import json_loads + + +class SimplyPremiumCom(Account): + __name__ = "SimplyPremiumCom" + __version__ = "0.01" + __type__ = "account" + __description__ = """Simply-Premium.Com account plugin""" + __author_name__ = ("EvolutionClip") + __author_mail__ = ("evolutionclip@live.de") + + def loadAccountInfo(self, user, req): + json_data = req.load('http://www.simply-premium.com/api/user.php?format=json') + self.logDebug("JSON data: " + json_data) + json_data = json_loads(json_data) + + if 'vip' in json_data['result'] and json_data['result']['vip'] == 0: + return {"premium": False} + + #Time package + validuntil = float(json_data['result']['timeend']) + #Traffic package + # {"trafficleft": int(traffic) / 1024, "validuntil": -1} + #trafficleft = int(json_data['result']['traffic'] / 1024) + + #return {"premium": True, "validuntil": validuntil, "trafficleft": trafficleft} + return {"premium": True, "validuntil": validuntil} + + def login(self, user, data, req): + req.cj.setCookie("simply-premium.com", "lang", "EN") + + if data['password'] == '' or data['password'] == '0': + post_data = {"key": user} + else: + post_data = {"login_name": user, "login_pass": data["password"]} + + self.html = req.load("http://www.simply-premium.com/login.php", post=post_data) + + if 'logout' not in self.html: + self.wrongPassword() diff --git a/pyload/plugins/accounts/Vipleech4uCom.py b/pyload/plugins/accounts/Vipleech4uCom.py new file mode 100644 index 000000000..1e8463456 --- /dev/null +++ b/pyload/plugins/accounts/Vipleech4uCom.py @@ -0,0 +1,41 @@ +# -*- coding: utf-8 -*- +import re +from time import mktime, strptime + +from module.plugins.Account import Account + + +class Vipleech4uCom(Account): + __name__ = "Vipleech4uCom" + __version__ = "0.1" + __type__ = "account" + __description__ = """Vipleech4u.com account plugin""" + __author_name__ = ("Kagenoshin") + __author_mail__ = ("kagenoshin@gmx.ch") + + STATUS_PATTERN = re.compile(r'status.*?<\s*?strong\s*?>[^<]*?vip[^<]*?<', re.I) + VALIDUNTIL_PATTERN = re.compile(r'valid\s*?until.*?<\s*?strong\s*?>([^<]*?)<', re.I) + + def loadAccountInfo(self, user, req): + response = req.load("http://vipleech4u.com", decode=True) + status = self.STATUS_PATTERN.search(response) + + validuntil = self.VALIDUNTIL_PATTERN.search(response) + if validuntil: + validuntil = validuntil.group(1) + + if status and validuntil: + print status + print validuntil + return {"trafficleft": -1, "validuntil": mktime(strptime("%s 23:59" % validuntil, "%d-%m-%Y %H:%M"))} + else: + return {"premium": False} + + def login(self, user, data, req): + self.loginname = user + self.password = data["password"] + post_data = {'action': 'login', 'user': self.loginname, 'pass': self.password} + req.load("http://vipleech4u.com/login.php") + response = req.load("http://vipleech4u.com/login.php", post=post_data, decode=True) + if 'Username or Password are incorrect' in response: + self.wrongPassword() |