summaryrefslogtreecommitdiffstats
path: root/module
diff options
context:
space:
mode:
authorGravatar Walter Purcaro <vuolter@gmail.com> 2014-12-20 14:24:13 +0100
committerGravatar Walter Purcaro <vuolter@gmail.com> 2014-12-20 14:24:13 +0100
commit6325eda4e8c142edd11c747f7a9d4a3fa975c494 (patch)
tree589819bb5e5ce441ea8f1109c8357c086816ed69 /module
parent[AlldebridCom] Syntax fixup (diff)
downloadpyload-6325eda4e8c142edd11c747f7a9d4a3fa975c494.tar.xz
Fix password retrieving in some plugins
Diffstat (limited to 'module')
-rw-r--r--module/plugins/hoster/BasePlugin.py9
-rw-r--r--module/plugins/hoster/FilepostCom.py17
-rw-r--r--module/plugins/hoster/FshareVn.py15
-rw-r--r--module/plugins/hoster/Ftp.py9
-rw-r--r--module/plugins/hoster/MediafireCom.py15
-rw-r--r--module/plugins/hoster/MegaCoNz.py10
-rw-r--r--module/plugins/hoster/RealdebridCom.py12
-rw-r--r--module/plugins/hoster/UlozTo.py15
8 files changed, 54 insertions, 48 deletions
diff --git a/module/plugins/hoster/BasePlugin.py b/module/plugins/hoster/BasePlugin.py
index 7b59303ef..d0d8e7cc8 100644
--- a/module/plugins/hoster/BasePlugin.py
+++ b/module/plugins/hoster/BasePlugin.py
@@ -13,7 +13,7 @@ from module.plugins.Hoster import Hoster
class BasePlugin(Hoster):
__name__ = "BasePlugin"
__type__ = "hoster"
- __version__ = "0.25"
+ __version__ = "0.26"
__pattern__ = r'^unmatchable$'
@@ -60,10 +60,9 @@ class BasePlugin(Hoster):
self.logDebug("Logging on to %s" % server)
self.req.addAuth(account.accounts[server]['password'])
else:
- for pwd in self.getPassword().splitlines():
- if ":" in pwd:
- self.req.addAuth(pwd.strip())
- break
+ pwd = self.getPassword()
+ if ':' in pwd:
+ self.req.addAuth(pwd)
else:
self.fail(_("Authorization required"))
else:
diff --git a/module/plugins/hoster/FilepostCom.py b/module/plugins/hoster/FilepostCom.py
index b94892ef4..66c040770 100644
--- a/module/plugins/hoster/FilepostCom.py
+++ b/module/plugins/hoster/FilepostCom.py
@@ -12,7 +12,7 @@ from module.plugins.internal.SimpleHoster import SimpleHoster, create_getInfo
class FilepostCom(SimpleHoster):
__name__ = "FilepostCom"
__type__ = "hoster"
- __version__ = "0.30"
+ __version__ = "0.31"
__pattern__ = r'https?://(?:www\.)?(?:filepost\.com/files|fp\.io)/(?P<ID>[^/]+)'
@@ -52,17 +52,20 @@ class FilepostCom(SimpleHoster):
if 'var is_pass_exists = true;' in self.html:
# Solve password
- for file_pass in self.getPassword().splitlines():
+ password = self.getPassword()
+
+ if password:
+ self.logInfo(_("Password protected link, trying ") + file_pass)
+
get_dict['JsHttpRequest'] = str(int(time() * 10000)) + '-xml'
post_dict['file_pass'] = file_pass
- self.logInfo(_("Password protected link, trying ") + file_pass)
- download_url = self.getJsonResponse(get_dict, post_dict, 'link')
- if download_url:
- break
+ self.link = self.getJsonResponse(get_dict, post_dict, 'link')
+ if not self.link:
+ self.fail(_("Incorrect password"))
else:
- self.fail(_("No or incorrect password"))
+ self.fail(_("No password found"))
else:
# Solve recaptcha
diff --git a/module/plugins/hoster/FshareVn.py b/module/plugins/hoster/FshareVn.py
index 3c230bbe2..7b8e4b0bd 100644
--- a/module/plugins/hoster/FshareVn.py
+++ b/module/plugins/hoster/FshareVn.py
@@ -24,7 +24,7 @@ def doubleDecode(m):
class FshareVn(SimpleHoster):
__name__ = "FshareVn"
__type__ = "hoster"
- __version__ = "0.17"
+ __version__ = "0.18"
__pattern__ = r'http://(?:www\.)?fshare\.vn/file/.*'
@@ -66,15 +66,20 @@ class FshareVn(SimpleHoster):
if not inputs:
self.error(_("No FORM"))
+
elif 'link_file_pwd_dl' in inputs:
- for password in self.getPassword().splitlines():
+ password = self.getPassword()
+
+ if password:
self.logInfo(_("Password protected link, trying ") + password)
inputs['link_file_pwd_dl'] = password
self.html = self.load(self.url, post=inputs, decode=True)
- if not 'name="link_file_pwd_dl"' in self.html:
- break
+
+ if 'name="link_file_pwd_dl"' in self.html:
+ self.fail(_("Incorrect password"))
else:
- self.fail(_("No or incorrect password"))
+ self.fail(_("No password found"))
+
else:
self.html = self.load(self.url, post=inputs, decode=True)
diff --git a/module/plugins/hoster/Ftp.py b/module/plugins/hoster/Ftp.py
index 9f79d80b5..c6ad68e49 100644
--- a/module/plugins/hoster/Ftp.py
+++ b/module/plugins/hoster/Ftp.py
@@ -12,7 +12,7 @@ from module.plugins.Hoster import Hoster
class Ftp(Hoster):
__name__ = "Ftp"
__type__ = "hoster"
- __version__ = "0.43"
+ __version__ = "0.44"
__pattern__ = r'(?:ftps?|sftp)://([\w.-]+(:[\w.-]+)?@)?[\w.-]+(:\d+)?/.+'
@@ -45,10 +45,9 @@ class Ftp(Hoster):
self.logDebug("Logging on to %s" % netloc)
self.req.addAuth(self.account.accounts[netloc]['password'])
else:
- for pwd in self.getPassword().splitlines():
- if ":" in pwd:
- self.req.addAuth(pwd.strip())
- break
+ pwd = self.getPassword()
+ if ':' in pwd:
+ self.req.addAuth(pwd)
self.req.http.c.setopt(pycurl.NOBODY, 1)
diff --git a/module/plugins/hoster/MediafireCom.py b/module/plugins/hoster/MediafireCom.py
index cdfa410a9..4b420242d 100644
--- a/module/plugins/hoster/MediafireCom.py
+++ b/module/plugins/hoster/MediafireCom.py
@@ -49,7 +49,7 @@ def getInfo(urls):
class MediafireCom(SimpleHoster):
__name__ = "MediafireCom"
__type__ = "hoster"
- __version__ = "0.80"
+ __version__ = "0.81"
__pattern__ = r'http://(?:www\.)?mediafire\.com/(file/|(view/?|download\.php)?\?)(\w{11}|\w{15})($|/)'
@@ -98,14 +98,17 @@ class MediafireCom(SimpleHoster):
def handleFree(self):
- passwords = self.getPassword().splitlines()
- while self.PASSWORD_PATTERN in self.html:
- if len(passwords):
- password = passwords.pop(0)
+ if self.PASSWORD_PATTERN in self.html:
+ password = self.getPassword()
+
+ if password:
self.logInfo(_("Password protected link, trying ") + password)
self.html = self.load(self.url, post={"downloadp": password})
+
+ if self.PASSWORD_PATTERN in self.html:
+ self.fail(_("Incorrect password"))
else:
- self.fail(_("No or incorrect password"))
+ self.fail(_("No password found"))
m = re.search(r'kNO = r"(http://.*?)";', self.html)
if m is None:
diff --git a/module/plugins/hoster/MegaCoNz.py b/module/plugins/hoster/MegaCoNz.py
index 385295d42..fc6724dc7 100644
--- a/module/plugins/hoster/MegaCoNz.py
+++ b/module/plugins/hoster/MegaCoNz.py
@@ -46,9 +46,9 @@ from module.plugins.Hoster import Hoster
class MegaCoNz(Hoster):
__name__ = "MegaCoNz"
__type__ = "hoster"
- __version__ = "0.16"
+ __version__ = "0.17"
- __pattern__ = r'https?://(\w+\.)?mega\.co\.nz/#!([\w!-]+)'
+ __pattern__ = r'https?://(?:www\.)?mega\.co\.nz/#!(?P<ID>[\w!-]+)'
__description__ = """Mega.co.nz hoster plugin"""
__license__ = "GPLv3"
@@ -133,11 +133,11 @@ class MegaCoNz(Hoster):
key = None
# match is guaranteed because plugin was chosen to handle url
- node = re.match(self.__pattern__, pyfile.url).group(2)
+ node = re.match(self.__pattern__, pyfile.url).group('ID')
if "!" in node:
- node, key = node.split("!")
+ node, key = node.split("!", 1)
- self.logDebug("File id: %s | Key: %s" % (node, key))
+ self.logDebug("ID: %s | Key: %s" % (node, key))
if not key:
self.fail(_("No file key provided in the URL"))
diff --git a/module/plugins/hoster/RealdebridCom.py b/module/plugins/hoster/RealdebridCom.py
index e624d1f34..bec0b820c 100644
--- a/module/plugins/hoster/RealdebridCom.py
+++ b/module/plugins/hoster/RealdebridCom.py
@@ -14,7 +14,7 @@ from module.utils import parseFileSize
class RealdebridCom(SimpleHoster):
__name__ = "RealdebridCom"
__type__ = "hoster"
- __version__ = "0.55"
+ __version__ = "0.56"
__pattern__ = r'https?://(?:[^/]*\.)?real-debrid\..*'
@@ -42,16 +42,10 @@ class RealdebridCom(SimpleHoster):
def handleMulti(self):
- password = self.getPassword().splitlines()
- if not password:
- password = ""
- else:
- password = password[0]
-
- data = json_loads(self.load("https://real-debrid.com/ajax/unrestrict.php",
+ data = json_loads(self.load("https://real-debrid.com/ajax/unrestrict.php",
get={'lang' : "en",
'link' : quote(self.pyfile.url, ""),
- 'password': password,
+ 'password': self.getPassword(),
'time' : int(time() * 1000)}))
self.logDebug("Returned Data: %s" % data)
diff --git a/module/plugins/hoster/UlozTo.py b/module/plugins/hoster/UlozTo.py
index 262b37c21..8fa58d48b 100644
--- a/module/plugins/hoster/UlozTo.py
+++ b/module/plugins/hoster/UlozTo.py
@@ -15,7 +15,7 @@ def convertDecimalPrefix(m):
class UlozTo(SimpleHoster):
__name__ = "UlozTo"
__type__ = "hoster"
- __version__ = "1.00"
+ __version__ = "1.01"
__pattern__ = r'http://(?:www\.)?(uloz\.to|ulozto\.(cz|sk|net)|bagruj\.cz|zachowajto\.pl)/(?:live/)?(?P<id>\w+/[^/?]*)'
@@ -60,15 +60,18 @@ class UlozTo(SimpleHoster):
self.html = self.load(pyfile.url, get={"do": "askAgeForm-submit"},
post={"agree": "Confirm", "_token_": token}, cookies=True)
- passwords = self.getPassword().splitlines()
- while self.PASSWD_PATTERN in self.html:
- if passwords:
- password = passwords.pop(0)
+ if self.PASSWD_PATTERN in self.html:
+ password = self.getPassword()
+
+ if password:
self.logInfo(_("Password protected link, trying ") + password)
self.html = self.load(pyfile.url, get={"do": "passwordProtectedForm-submit"},
post={"password": password, "password_send": 'Send'}, cookies=True)
+
+ if self.PASSWD_PATTERN in self.html:
+ self.fail(_("Incorrect password"))
else:
- self.fail(_("No or incorrect password"))
+ self.fail(_("No password found"))
if re.search(self.VIPLINK_PATTERN, self.html):
self.html = self.load(pyfile.url, get={"disclaimer": "1"})