summaryrefslogtreecommitdiffstats
path: root/pyload/plugins/accounts
diff options
context:
space:
mode:
Diffstat (limited to 'pyload/plugins/accounts')
-rw-r--r--pyload/plugins/accounts/AlldebridCom.py10
-rw-r--r--pyload/plugins/accounts/FastixRu.py13
-rw-r--r--pyload/plugins/accounts/FastshareCz.py6
-rw-r--r--pyload/plugins/accounts/Http.py7
-rw-r--r--pyload/plugins/accounts/MultishareCz.py13
-rw-r--r--pyload/plugins/accounts/Premium4Me.py9
-rw-r--r--pyload/plugins/accounts/PremiumizeMe.py22
-rw-r--r--pyload/plugins/accounts/RPNetBiz.py45
-rw-r--r--pyload/plugins/accounts/RealdebridCom.py14
-rw-r--r--pyload/plugins/accounts/SimplydebridCom.py8
-rw-r--r--pyload/plugins/accounts/ZeveraCom.py8
11 files changed, 76 insertions, 79 deletions
diff --git a/pyload/plugins/accounts/AlldebridCom.py b/pyload/plugins/accounts/AlldebridCom.py
index b0de45c46..9fb050535 100644
--- a/pyload/plugins/accounts/AlldebridCom.py
+++ b/pyload/plugins/accounts/AlldebridCom.py
@@ -3,10 +3,11 @@ from time import time
import re
import urllib
-from pyload.plugins.MultiHoster import MultiHoster
+from module.plugins.Account import Account
from BeautifulSoup import BeautifulSoup
-class AlldebridCom(MultiHoster):
+
+class AlldebridCom(Account):
__name__ = "AlldebridCom"
__version__ = "0.21"
__type__ = "account"
@@ -49,8 +50,3 @@ class AlldebridCom(MultiHoster):
if "Invalid captcha" in page:
self.wrongPassword()
-
- def loadHosterList(self, req):
- https = "https" if self.getConfig("https") else "http"
- page = req.load(https + "://www.alldebrid.com/api.php?action=get_host").replace("\"","").strip()
- return [x.strip() for x in page.split(",") if x.strip()]
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/Http.py b/pyload/plugins/accounts/Http.py
index de9490b2c..5701d1f03 100644
--- a/pyload/plugins/accounts/Http.py
+++ b/pyload/plugins/accounts/Http.py
@@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
-from pyload.plugins.Account import Account
+from module.plugins.Account import Account
class Http(Account):
@@ -11,9 +11,4 @@ class Http(Account):
__author_name__ = ("zoidberg")
__author_mail__ = ("zoidberg@mujmail.cz")
- __config__ = [("domain", "str", "Domain", "")]
-
login_timeout = info_threshold = 1000000
-
- def login(self, req):
- pass \ No newline at end of file
diff --git a/pyload/plugins/accounts/MultishareCz.py b/pyload/plugins/accounts/MultishareCz.py
index a50ced431..273936615 100644
--- a/pyload/plugins/accounts/MultishareCz.py
+++ b/pyload/plugins/accounts/MultishareCz.py
@@ -17,14 +17,14 @@
@author: zoidberg
"""
-from pyload.plugins.MultiHoster import MultiHoster
+from module.plugins.Account import Account
#from time import mktime, strptime
#from pycurl import REFERER
import re
-from pyload.utils import parseFileSize
+from module.utils import parseFileSize
-class MultishareCz(MultiHoster):
+class MultishareCz(Account):
__name__ = "MultishareCz"
__version__ = "0.02"
__type__ = "account"
@@ -34,7 +34,6 @@ class MultishareCz(MultiHoster):
TRAFFIC_LEFT_PATTERN = r'<span class="profil-zvyrazneni">Kredit:</span>\s*<strong>(?P<S>[0-9,]+)&nbsp;(?P<U>\w+)</strong>'
ACCOUNT_INFO_PATTERN = r'<input type="hidden" id="(u_ID|u_hash)" name="[^"]*" value="([^"]+)">'
- HOSTER_PATTERN = r'<img class="logo-shareserveru"[^>]*?alt="([^"]+)"></td>\s*<td class="stav">[^>]*?alt="OK"'
def loadAccountInfo(self, user, req):
#self.relogin(user)
@@ -57,8 +56,4 @@ class MultishareCz(MultiHoster):
}, decode=True)
if '<div class="akce-chyba akce">' in html:
- self.wrongPassword()
-
- def loadHosterList(self, req):
- page = req.load("http://www.multishare.cz/monitoring/")
- return re.findall(self.HOSTER_PATTERN, page)
+ self.wrongPassword() \ No newline at end of file
diff --git a/pyload/plugins/accounts/Premium4Me.py b/pyload/plugins/accounts/Premium4Me.py
index 7f49cca30..467c5943e 100644
--- a/pyload/plugins/accounts/Premium4Me.py
+++ b/pyload/plugins/accounts/Premium4Me.py
@@ -1,6 +1,7 @@
-from pyload.plugins.MultiHoster import MultiHoster
+from module.plugins.Account import Account
-class Premium4Me(MultiHoster):
+
+class Premium4Me(Account):
__name__ = "Premium4Me"
__version__ = "0.03"
__type__ = "account"
@@ -22,7 +23,3 @@ class Premium4Me(MultiHoster):
if "wrong username" in self.authcode:
self.wrongPassword()
-
- def loadHosterList(self, req):
- page = req.load("http://premium.to/api/hosters.php?authcode=%s" % self.authcode)
- return [x.strip() for x in page.replace("\"", "").split(";")]
diff --git a/pyload/plugins/accounts/PremiumizeMe.py b/pyload/plugins/accounts/PremiumizeMe.py
index 8b4569f06..c5c712c52 100644
--- a/pyload/plugins/accounts/PremiumizeMe.py
+++ b/pyload/plugins/accounts/PremiumizeMe.py
@@ -1,8 +1,9 @@
-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 PremiumizeMe(MultiHoster):
+
+class PremiumizeMe(Account):
__name__ = "PremiumizeMe"
__version__ = "0.11"
__type__ = "account"
@@ -39,18 +40,3 @@ class PremiumizeMe(MultiHoster):
"https://api.premiumize.me/pm-api/v1.php?method=accountstatus&params[login]=%s&params[pass]=%s" % (
user, self.accounts[user]['password']))
return json_loads(answer)
-
- def loadHosterList(self, req):
- # Get supported hosters list from premiumize.me using the
- # json API v1 (see https://secure.premiumize.me/?show=api)
- answer = req.load(
- "https://api.premiumize.me/pm-api/v1.php?method=hosterlist&params[login]=%s&params[pass]=%s" % (
- self.loginname, self.password))
- data = json_loads(answer)
-
- # If account is not valid thera are no hosters available
- if data['status'] != 200:
- return []
-
- # Extract hosters from json file
- return data['result']['hosterlist']
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..a9980b088 100644
--- a/pyload/plugins/accounts/RealdebridCom.py
+++ b/pyload/plugins/accounts/RealdebridCom.py
@@ -1,20 +1,20 @@
import xml.dom.minidom as dom
-from pyload.plugins.MultiHoster import MultiHoster
+from module.plugins.Account import Account
-class RealdebridCom(MultiHoster):
+class RealdebridCom(Account):
__name__ = "RealdebridCom"
- __version__ = "0.5"
+ __version__ = "0.43"
__type__ = "account"
__description__ = """Real-Debrid.com account plugin"""
__author_name__ = ("Devirex, Hazzard")
__author_mail__ = ("naibaf_11@yahoo.de")
- def loadAccountInfo(self, req):
+ def loadAccountInfo(self, user, 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}
@@ -29,7 +29,3 @@ class RealdebridCom(MultiHoster):
elif "PIN Code required" in page:
self.logWarning('PIN code required. Please login to https://real-debrid.com using the PIN or disable the double authentication in your control panel on https://real-debrid.com.')
self.pin_code = True
-
- def loadHosterList(self, req):
- page = req.load("http://real-debrid.com/api/hosters.php").replace("\"", "").strip()
- return[x.strip() for x in page.split(",") if x.strip()]
diff --git a/pyload/plugins/accounts/SimplydebridCom.py b/pyload/plugins/accounts/SimplydebridCom.py
index 0b4c82a3b..82b499bbd 100644
--- a/pyload/plugins/accounts/SimplydebridCom.py
+++ b/pyload/plugins/accounts/SimplydebridCom.py
@@ -1,10 +1,10 @@
# -*- coding: utf-8 -*-
from time import mktime, strptime
-from pyload.plugins.MultiHoster import MultiHoster
+from module.plugins.Account import Account
-class SimplydebridCom(MultiHoster):
+class SimplydebridCom(Account):
__name__ = "SimplydebridCom"
__version__ = "0.1"
__type__ = "account"
@@ -28,7 +28,3 @@ class SimplydebridCom(MultiHoster):
response = req.load("http://simply-debrid.com/api.php", get=get_data, decode=True)
if response != "02: loggin success":
self.wrongPassword()
-
- def loadHosterList(self, req):
- page = req.load("http://simply-debrid.com/api.php?list=1")
- return [x.strip() for x in page.rstrip(';').replace("\"", "").split(";")]
diff --git a/pyload/plugins/accounts/ZeveraCom.py b/pyload/plugins/accounts/ZeveraCom.py
index 8f05f1d76..13ed95133 100644
--- a/pyload/plugins/accounts/ZeveraCom.py
+++ b/pyload/plugins/accounts/ZeveraCom.py
@@ -1,10 +1,10 @@
# -*- coding: utf-8 -*-
from time import mktime, strptime
-from pyload.plugins.MultiHoster import MultiHoster
+from module.plugins.Account import Account
-class ZeveraCom(MultiHoster):
+class ZeveraCom(Account):
__name__ = "ZeveraCom"
__version__ = "0.21"
__type__ = "account"
@@ -49,7 +49,3 @@ class ZeveraCom(MultiHoster):
[x.split(':', 1) for x in response.splitlines() if ':' in x])
else:
return response
-
- def loadHosterList(self, req):
- page = req.load("http://www.zevera.com/jDownloader.ashx?cmd=gethosters")
- return [x.strip() for x in page.replace("\"", "").split(",")]