summaryrefslogtreecommitdiffstats
path: root/module/plugins/accounts
diff options
context:
space:
mode:
Diffstat (limited to 'module/plugins/accounts')
-rw-r--r--module/plugins/accounts/AlldebridCom.py2
-rw-r--r--module/plugins/accounts/CatShareNet.py37
-rw-r--r--module/plugins/accounts/ExashareCom.py16
-rw-r--r--module/plugins/accounts/JunkyvideoCom.py16
-rw-r--r--module/plugins/accounts/NoPremiumPl.py4
-rw-r--r--module/plugins/accounts/RapideoPl.py4
-rw-r--r--module/plugins/accounts/RehostTo.py12
-rw-r--r--module/plugins/accounts/SimplyPremiumCom.py26
-rw-r--r--module/plugins/accounts/SmoozedCom.py4
9 files changed, 81 insertions, 40 deletions
diff --git a/module/plugins/accounts/AlldebridCom.py b/module/plugins/accounts/AlldebridCom.py
index 1f2371e28..c830f0c09 100644
--- a/module/plugins/accounts/AlldebridCom.py
+++ b/module/plugins/accounts/AlldebridCom.py
@@ -37,7 +37,7 @@ class AlldebridCom(Account):
exp_data[1]) * 60 * 60 + (int(exp_data[2]) - 1) * 60
#Get expiration date from API
- except:
+ except Exception:
data = self.getAccountData(user)
html = req.load("http://www.alldebrid.com/api.php",
get={'action': "info_user", 'login': user, 'pw': data['password']})
diff --git a/module/plugins/accounts/CatShareNet.py b/module/plugins/accounts/CatShareNet.py
index bcb14bee3..00bfadd09 100644
--- a/module/plugins/accounts/CatShareNet.py
+++ b/module/plugins/accounts/CatShareNet.py
@@ -10,39 +10,48 @@ from module.plugins.Account import Account
class CatShareNet(Account):
__name__ = "CatShareNet"
__type__ = "account"
- __version__ = "0.02"
+ __version__ = "0.03"
__description__ = """CatShareNet account plugin"""
__license__ = "GPLv3"
__authors__ = [("prOq", None)]
- PREMIUM_PATTERN = r'class="nav-collapse collapse pull-right">[\s\w<>=-."/:]*\sz.</a></li>\s*<li><a href="/premium">.*\s*<span style="color: red">(.*?)</span>[\s\w<>/]*href="/logout"'
- VALID_UNTIL_PATTERN = r'<div class="span6 pull-right">[\s\w<>=-":;]*<span style="font-size:13px;">.*?<strong>(.*?)</strong></span>'
+ PREMIUM_PATTERN = r'class="nav-collapse collapse pull-right">[\s\w<>=-."/:]*\sz.</a></li>\s*<li><a href="/premium">.*\s*<span style="color: red">(.*?)</span>[\s\w<>/]*href="/logout"'
+ VALID_UNTIL_PATTERN = r'<div class="span6 pull-right">[\s\w<>=-":;]*<span style="font-size:13px;">.*?<strong>(.*?)</strong></span>'
+ TRAFFIC_LEFT_PATTERN = r'<a href="/premium">([0-9.]+ [kMG]B)'
def loadAccountInfo(self, user, req):
- premium = False
- validuntil = -1
+ premium = False
+ validuntil = -1
+ trafficleft = -1
html = req.load("http://catshare.net/", decode=True)
try:
- m = re.search(self.PREMIUM_PATTERN, html)
- if "Premium" in m.group(1):
+ if "Premium" in re.search(self.PREMIUM_PATTERN, html).group(1):
premium = True
- except:
+
+ except Exception:
pass
try:
- m = re.search(self.VALID_UNTIL_PATTERN, html)
- expiredate = m.group(1)
- if "-" not in expiredate:
- validuntil = mktime(strptime(expiredate, "%d.%m.%Y"))
- except:
+ expiredate = re.search(self.VALID_UNTIL_PATTERN, html).group(1)
+ self.logDebug("Expire date: " + expiredate)
+
+ validuntil = mktime(strptime(expiredate, "%d.%m.%Y"))
+
+ except Exception:
+ pass
+
+ try:
+ trafficleft = self.parseTraffic(re.search(TRAFFIC_LEFT_PATTERN, html).group(1))
+
+ except Exception:
pass
- return {'premium': premium, 'trafficleft': -1, 'validuntil': validuntil}
+ return {'premium': premium, 'trafficleft': trafficleft, 'validuntil': validuntil}
def login(self, user, data, req):
diff --git a/module/plugins/accounts/ExashareCom.py b/module/plugins/accounts/ExashareCom.py
new file mode 100644
index 000000000..431798522
--- /dev/null
+++ b/module/plugins/accounts/ExashareCom.py
@@ -0,0 +1,16 @@
+# -*- coding: utf-8 -*-
+
+from module.plugins.internal.XFSAccount import XFSAccount
+
+
+class ExashareCom(XFSAccount):
+ __name__ = "ExashareCom"
+ __type__ = "account"
+ __version__ = "0.01"
+
+ __description__ = """Exashare.com account plugin"""
+ __license__ = "GPLv3"
+ __authors__ = [("Walter Purcaro", "vuolter@gmail.com")]
+
+
+ HOSTER_DOMAIN = "exashare.com"
diff --git a/module/plugins/accounts/JunkyvideoCom.py b/module/plugins/accounts/JunkyvideoCom.py
new file mode 100644
index 000000000..8275ff176
--- /dev/null
+++ b/module/plugins/accounts/JunkyvideoCom.py
@@ -0,0 +1,16 @@
+# -*- coding: utf-8 -*-
+
+from module.plugins.internal.XFSAccount import XFSAccount
+
+
+class JunkyvideoCom(XFSAccount):
+ __name__ = "JunkyvideoCom"
+ __type__ = "account"
+ __version__ = "0.01"
+
+ __description__ = """Junkyvideo.com account plugin"""
+ __license__ = "GPLv3"
+ __authors__ = [("Walter Purcaro", "vuolter@gmail.com")]
+
+
+ HOSTER_DOMAIN = "junkyvideo.com"
diff --git a/module/plugins/accounts/NoPremiumPl.py b/module/plugins/accounts/NoPremiumPl.py
index f2223b7d9..a36b114eb 100644
--- a/module/plugins/accounts/NoPremiumPl.py
+++ b/module/plugins/accounts/NoPremiumPl.py
@@ -35,7 +35,7 @@ class NoPremiumPl(Account):
self._req = req
try:
result = loads(self.runAuthQuery())
- except:
+ except Exception:
# todo: return or let it be thrown?
return
@@ -60,7 +60,7 @@ class NoPremiumPl(Account):
try:
response = loads(self.runAuthQuery())
- except:
+ except Exception:
self.wrongPassword()
if "errno" in response.keys():
diff --git a/module/plugins/accounts/RapideoPl.py b/module/plugins/accounts/RapideoPl.py
index 438ce7ad3..426c680a6 100644
--- a/module/plugins/accounts/RapideoPl.py
+++ b/module/plugins/accounts/RapideoPl.py
@@ -35,7 +35,7 @@ class RapideoPl(Account):
self._req = req
try:
result = loads(self.runAuthQuery())
- except:
+ except Exception:
# todo: return or let it be thrown?
return
@@ -59,7 +59,7 @@ class RapideoPl(Account):
self._req = req
try:
response = loads(self.runAuthQuery())
- except:
+ except Exception:
self.wrongPassword()
if "errno" in response.keys():
diff --git a/module/plugins/accounts/RehostTo.py b/module/plugins/accounts/RehostTo.py
index 4efe38cad..04e71c9ad 100644
--- a/module/plugins/accounts/RehostTo.py
+++ b/module/plugins/accounts/RehostTo.py
@@ -6,7 +6,7 @@ from module.plugins.Account import Account
class RehostTo(Account):
__name__ = "RehostTo"
__type__ = "account"
- __version__ = "0.15"
+ __version__ = "0.16"
__description__ = """Rehost.to account plugin"""
__license__ = "GPLv3"
@@ -18,25 +18,25 @@ class RehostTo(Account):
trafficleft = None
validuntil = -1
session = ""
-
+
html = req.load("http://rehost.to/api.php",
get={'cmd' : "login", 'user': user,
'pass': self.getAccountData(user)['password']})
try:
session = html.split(",")[1].split("=")[1]
-
+
html = req.load("http://rehost.to/api.php",
get={'cmd': "get_premium_credits", 'long_ses': session})
- if html.strip() == "0,0" or "ERROR" not in html:
+ if html.strip() == "0,0" or "ERROR" in html:
self.logDebug(html)
else:
traffic, valid = html.split(",")
-
+
premium = True
trafficleft = self.parseTraffic(traffic + "MB")
validuntil = float(valid)
-
+
finally:
return {'premium' : premium,
'trafficleft': trafficleft,
diff --git a/module/plugins/accounts/SimplyPremiumCom.py b/module/plugins/accounts/SimplyPremiumCom.py
index accb3aba8..8caf600f9 100644
--- a/module/plugins/accounts/SimplyPremiumCom.py
+++ b/module/plugins/accounts/SimplyPremiumCom.py
@@ -7,7 +7,7 @@ from module.plugins.Account import Account
class SimplyPremiumCom(Account):
__name__ = "SimplyPremiumCom"
__type__ = "account"
- __version__ = "0.03"
+ __version__ = "0.05"
__description__ = """Simply-Premium.com account plugin"""
__license__ = "GPLv3"
@@ -15,34 +15,34 @@ class SimplyPremiumCom(Account):
def loadAccountInfo(self, user, req):
+ premium = False
validuntil = -1
trafficleft = None
json_data = req.load('http://www.simply-premium.com/api/user.php?format=json')
- self.logDebug("JSON data: " + json_data)
+
+ self.logDebug("JSON data: %s" % json_data)
+
json_data = json_loads(json_data)
- if 'vip' in json_data['result'] and json_data['result']['vip'] == 0:
- return {"premium": False}
+ if 'vip' in json_data['result'] and json_data['result']['vip']:
+ premium = True
if 'timeend' in json_data['result'] and json_data['result']['timeend']:
validuntil = float(json_data['result']['timeend'])
- if 'traffic' in json_data['result'] and json_data['result']['traffic']:
- trafficleft = float(json_data['result']['traffic']) / 1024 #@TODO: Remove `/ 1024` in 0.4.10
+ if 'remain_traffic' in json_data['result'] and json_data['result']['remain_traffic']:
+ trafficleft = float(json_data['result']['remain_traffic']) / 1024 #@TODO: Remove `/ 1024` in 0.4.10
- return {"premium": True, "validuntil": validuntil, "trafficleft": trafficleft}
+ return {"premium": premium, "validuntil": validuntil, "trafficleft": trafficleft}
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']}
-
- html = req.load("http://www.simply-premium.com/login.php", post=post_data, decode=True)
+ html = req.load("http://www.simply-premium.com/login.php",
+ post={'key': user} if not data['password'] else {'login_name': user, 'login_pass': data['password']},
+ decode=True)
if 'logout' not in html:
self.wrongPassword()
diff --git a/module/plugins/accounts/SmoozedCom.py b/module/plugins/accounts/SmoozedCom.py
index d192f20cf..e6c25752b 100644
--- a/module/plugins/accounts/SmoozedCom.py
+++ b/module/plugins/accounts/SmoozedCom.py
@@ -12,7 +12,7 @@ from module.plugins.Account import Account
class SmoozedCom(Account):
__name__ = "SmoozedCom"
__type__ = "account"
- __version__ = "0.02"
+ __version__ = "0.03"
__description__ = """Smoozed.com account plugin"""
__license__ = "GPLv3"
@@ -33,7 +33,7 @@ class SmoozedCom(Account):
# Parse account info
info = {'validuntil' : float(status["data"]["user"]["user_premium"]),
'trafficleft': max(0, status["data"]["traffic"][1] - status["data"]["traffic"][0]),
- 'session_key': status["data"]["session_key"],
+ 'session' : status["data"]["session_key"],
'hosters' : [hoster["name"] for hoster in status["data"]["hoster"]]}
if info['validuntil'] < time():