summaryrefslogtreecommitdiffstats
path: root/pyload/plugins/accounts
diff options
context:
space:
mode:
Diffstat (limited to 'pyload/plugins/accounts')
-rw-r--r--pyload/plugins/accounts/AlldebridCom.py1
-rw-r--r--pyload/plugins/accounts/FastixRu.py13
-rw-r--r--pyload/plugins/accounts/FastshareCz.py6
-rw-r--r--pyload/plugins/accounts/RPNetBiz.py45
-rw-r--r--pyload/plugins/accounts/RealdebridCom.py4
5 files changed, 55 insertions, 14 deletions
diff --git a/pyload/plugins/accounts/AlldebridCom.py b/pyload/plugins/accounts/AlldebridCom.py
index b0de45c46..4be7cb897 100644
--- a/pyload/plugins/accounts/AlldebridCom.py
+++ b/pyload/plugins/accounts/AlldebridCom.py
@@ -6,6 +6,7 @@ import urllib
from pyload.plugins.MultiHoster import MultiHoster
from BeautifulSoup import BeautifulSoup
+
class AlldebridCom(MultiHoster):
__name__ = "AlldebridCom"
__version__ = "0.21"
diff --git a/pyload/plugins/accounts/FastixRu.py b/pyload/plugins/accounts/FastixRu.py
index 34d88dd25..3e1896e44 100644
--- a/pyload/plugins/accounts/FastixRu.py
+++ b/pyload/plugins/accounts/FastixRu.py
@@ -1,8 +1,8 @@
-from pyload.plugins.MultiHoster import MultiHoster
-from pyload.utils import json_loads
+from module.plugins.Account import Account
+from module.common.json_layer import json_loads
-class FastixRu(MultiHoster):
+class FastixRu(Account):
__name__ = "FastixRu"
__version__ = "0.02"
__type__ = "account"
@@ -30,10 +30,3 @@ class FastixRu(MultiHoster):
data["api"] = api
if "error_code" in page:
self.wrongPassword()
-
- def loadHosterList(self, req):
- page = req.load(
- "http://fastix.ru/api_v2/?apikey=5182964c3f8f9a7f0b00000a_kelmFB4n1IrnCDYuIFn2y&sub=allowed_sources")
- host_list = json_loads(page)
- host_list = host_list['allow']
- return host_list
diff --git a/pyload/plugins/accounts/FastshareCz.py b/pyload/plugins/accounts/FastshareCz.py
index 69bbb0827..c047ff766 100644
--- a/pyload/plugins/accounts/FastshareCz.py
+++ b/pyload/plugins/accounts/FastshareCz.py
@@ -24,16 +24,18 @@ from module.utils import parseFileSize
class FastshareCz(Account):
__name__ = "FastshareCz"
- __version__ = "0.02"
+ __version__ = "0.03"
__type__ = "account"
__description__ = """fastshare.cz account plugin"""
__author_name__ = ("zoidberg", "stickell")
__author_mail__ = ("zoidberg@mujmail.cz", "l.stickell@yahoo.it")
+ CREDIT_PATTERN = r'(?:Kredit|Credit)\s*</td>\s*<td[^>]*>([\d. \w]+)&nbsp;'
+
def loadAccountInfo(self, user, req):
html = req.load("http://www.fastshare.cz/user", decode=True)
- found = re.search(r'(?:Kredit|Credit)\s*: </td><td>(.+?)&nbsp;', html)
+ found = re.search(self.CREDIT_PATTERN, html)
if found:
trafficleft = parseFileSize(found.group(1)) / 1024
premium = True if trafficleft else False
diff --git a/pyload/plugins/accounts/RPNetBiz.py b/pyload/plugins/accounts/RPNetBiz.py
new file mode 100644
index 000000000..ceb5e6bbb
--- /dev/null
+++ b/pyload/plugins/accounts/RPNetBiz.py
@@ -0,0 +1,45 @@
+from module.plugins.Account import Account
+from module.common.json_layer import json_loads
+
+
+class RPNetBiz(Account):
+ __name__ = "RPNetBiz"
+ __version__ = "0.1"
+ __type__ = "account"
+ __description__ = """RPNet.biz account plugin"""
+ __author_name__ = ("Dman")
+ __author_mail__ = ("dmanugm@gmail.com")
+
+ def loadAccountInfo(self, user, req):
+ # Get account information from rpnet.biz
+ response = self.getAccountStatus(user, req)
+ try:
+ if response['accountInfo']['isPremium']:
+ # Parse account info. Change the trafficleft later to support per host info.
+ account_info = {"validuntil": int(response['accountInfo']['premiumExpiry']),
+ "trafficleft": -1, "premium": True}
+ else:
+ account_info = {"validuntil": None, "trafficleft": None, "premium": False}
+
+ except KeyError:
+ #handle wrong password exception
+ account_info = {"validuntil": None, "trafficleft": None, "premium": False}
+
+ return account_info
+
+ def login(self, user, data, req):
+ # Get account information from rpnet.biz
+ response = self.getAccountStatus(user, req)
+
+ # If we have an error in the response, we have wrong login information
+ if 'error' in response:
+ self.wrongPassword()
+
+ def getAccountStatus(self, user, req):
+ # Using the rpnet API, check if valid premium account
+ response = req.load("https://premium.rpnet.biz/client_api.php",
+ get={"username": user, "password": self.accounts[user]['password'],
+ "action": "showAccountInformation"})
+ self.logDebug("JSON data: %s" % response)
+
+ return json_loads(response)
diff --git a/pyload/plugins/accounts/RealdebridCom.py b/pyload/plugins/accounts/RealdebridCom.py
index 2ef8dbb79..84c61f2e8 100644
--- a/pyload/plugins/accounts/RealdebridCom.py
+++ b/pyload/plugins/accounts/RealdebridCom.py
@@ -5,7 +5,7 @@ from pyload.plugins.MultiHoster import MultiHoster
class RealdebridCom(MultiHoster):
__name__ = "RealdebridCom"
- __version__ = "0.5"
+ __version__ = "0.43"
__type__ = "account"
__description__ = """Real-Debrid.com account plugin"""
__author_name__ = ("Devirex, Hazzard")
@@ -14,7 +14,7 @@ class RealdebridCom(MultiHoster):
def loadAccountInfo(self, req):
if self.pin_code:
return {"premium": False}
- page = req.load("http://real-debrid.com/api/account.php")
+ page = req.load("https://real-debrid.com/api/account.php")
xml = dom.parseString(page)
account_info = {"validuntil": int(xml.getElementsByTagName("expiration")[0].childNodes[0].nodeValue),
"trafficleft": -1}