summaryrefslogtreecommitdiffstats
path: root/pyload/plugin/account/ShareonlineBiz.py
diff options
context:
space:
mode:
Diffstat (limited to 'pyload/plugin/account/ShareonlineBiz.py')
-rw-r--r--pyload/plugin/account/ShareonlineBiz.py45
1 files changed, 45 insertions, 0 deletions
diff --git a/pyload/plugin/account/ShareonlineBiz.py b/pyload/plugin/account/ShareonlineBiz.py
new file mode 100644
index 000000000..1b167a568
--- /dev/null
+++ b/pyload/plugin/account/ShareonlineBiz.py
@@ -0,0 +1,45 @@
+# -*- coding: utf-8 -*-
+
+from pyload.plugin.Account import Account
+
+
+class ShareonlineBiz(Account):
+ __name = "ShareonlineBiz"
+ __type = "account"
+ __version = "0.24"
+
+ __description = """Share-online.biz account plugin"""
+ __license = "GPLv3"
+ __authors = [("mkaay", "mkaay@mkaay.de"),
+ ("zoidberg", "zoidberg@mujmail.cz")]
+
+
+ def getUserAPI(self, user, req):
+ return req.load("http://api.share-online.biz/account.php",
+ {"username": user, "password": self.accounts[user]['password'], "act": "userDetails"})
+
+
+ def loadAccountInfo(self, user, req):
+ html = self.getUserAPI(user, req)
+
+ info = {}
+ for line in html.splitlines():
+ if "=" in line:
+ key, value = line.split("=")
+ info[key] = value
+ self.logDebug(info)
+
+ if "dl" in info and info['dl'].lower() != "not_available":
+ req.cj.setCookie("share-online.biz", "dl", info['dl'])
+ if "a" in info and info['a'].lower() != "not_available":
+ req.cj.setCookie("share-online.biz", "a", info['a'])
+
+ return {"validuntil": int(info['expire_date']) if "expire_date" in info else -1,
+ "trafficleft": -1,
+ "premium": True if ("dl" in info or "a" in info) and (info['group'] != "Sammler") else False}
+
+
+ def login(self, user, data, req):
+ html = self.getUserAPI(user, req)
+ if "EXCEPTION" in html:
+ self.wrongPassword()