diff options
Diffstat (limited to 'module')
-rw-r--r-- | module/JsEngine.py | 18 | ||||
-rw-r--r-- | module/plugins/accounts/MegauploadCom.py | 20 |
2 files changed, 35 insertions, 3 deletions
diff --git a/module/JsEngine.py b/module/JsEngine.py index ca5bfe4fc..2f34d54c0 100644 --- a/module/JsEngine.py +++ b/module/JsEngine.py @@ -17,17 +17,18 @@ @author: RaNaN """ +from imp import find_module ENGINE = "" try: - import spidermonkey + find_module("spidermonkey") ENGINE = "spidermonkey" except: pass if not ENGINE: try: - import PyV8 + find_module("PyV8") ENGINE = "pyv8" except: pass @@ -43,11 +44,21 @@ if not ENGINE: class JsEngine(): def __init__(self): self.engine = ENGINE + self.init = False def __nonzero__(self): return False if not ENGINE else True def eval(self, script): + if not self.init: + if ENGINE == "spidermonkey": + import spidermonkey + global spidermonkey + elif ENGINE == "pyv8": + import PyV8 + global PyV8 + self.init = True + if not ENGINE: raise Exception("No JS Engine") elif ENGINE == "spidermonkey": @@ -74,6 +85,9 @@ class JsEngine(): res = p.stdout.read().strip() return res + def error(self): + return _("No js engine detected, please install either Spidermonkey, ossp-js or pyv8") + if __name__ == "__main__": js = JsEngine() import subprocess diff --git a/module/plugins/accounts/MegauploadCom.py b/module/plugins/accounts/MegauploadCom.py index 77a11fe25..e50c62788 100644 --- a/module/plugins/accounts/MegauploadCom.py +++ b/module/plugins/accounts/MegauploadCom.py @@ -17,6 +17,9 @@ @author: mkaay """ +import re +from time import time + from module.plugins.Account import Account class MegauploadCom(Account): @@ -27,6 +30,21 @@ class MegauploadCom(Account): __author_name__ = ("RaNaN") __author_mail__ = ("RaNaN@pyload.org") + def loadAccountInfo(self, user): + req = self.getAccountRequest(user) + page = req.load("http://www.megaupload.com/?c=account") + + if 'id="directdownloadstxt">Activate' in page: + self.core.log.warning(_("Activate direct Download in your MegaUpload Account")) + + valid = re.search(r"(\d+) days remaining", page).group(1) + valid = time()+ 60 * 60 * 24 * int(valid) + + return {"validuntil": valid, "trafficleft": -1} + + def login(self, user, data): req = self.getAccountRequest(user) - req.load("http://www.megaupload.com/?c=login&next=c%3Dpremium", post={ "username" : user, "password" : data["password"], "login" :"1"}, cookies=True) + page = req.load("http://www.megaupload.com/?c=login&next=c%3Dpremium", post={ "username" : user, "password" : data["password"], "login" :"1"}, cookies=True) + if "Username and password do not match" in page: + self.wrongPassword()
\ No newline at end of file |