summaryrefslogtreecommitdiffstats
path: root/pyload/plugins/accounts
diff options
context:
space:
mode:
authorGravatar Stefano <l.stickell@yahoo.it> 2014-04-21 17:26:28 +0200
committerGravatar Stefano <l.stickell@yahoo.it> 2014-04-21 17:26:28 +0200
commite88c477d1ae3913096b92f41274ef578693bc052 (patch)
treefca8eb2f696afbaeb11c7bb61b38aca584a0b0d7 /pyload/plugins/accounts
parentCaptchaService: fixed missing import (diff)
downloadpyload-e88c477d1ae3913096b92f41274ef578693bc052.tar.xz
Moving new plugins from module to pyload
Diffstat (limited to 'pyload/plugins/accounts')
-rw-r--r--pyload/plugins/accounts/FreeWayMe.py67
-rw-r--r--pyload/plugins/accounts/OverLoadMe.py33
-rw-r--r--pyload/plugins/accounts/SimplyPremiumCom.py58
-rw-r--r--pyload/plugins/accounts/Vipleech4uCom.py41
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()