diff options
Diffstat (limited to 'pyload/plugins/addons/ExpertDecoders.py')
-rw-r--r-- | pyload/plugins/addons/ExpertDecoders.py | 46 |
1 files changed, 20 insertions, 26 deletions
diff --git a/pyload/plugins/addons/ExpertDecoders.py b/pyload/plugins/addons/ExpertDecoders.py index 2e66e49ca..f1b7ea352 100644 --- a/pyload/plugins/addons/ExpertDecoders.py +++ b/pyload/plugins/addons/ExpertDecoders.py @@ -18,7 +18,7 @@ from __future__ import with_statement from thread import start_new_thread -from pycurl import FORM_FILE, LOW_SPEED_TIME +from pycurl import LOW_SPEED_TIME from uuid import uuid4 from base64 import b64encode @@ -27,13 +27,14 @@ from module.network.HTTPRequest import BadHeader from module.plugins.Hook import Hook + class ExpertDecoders(Hook): __name__ = "ExpertDecoders" __version__ = "0.01" __description__ = """send captchas to expertdecoders.com""" __config__ = [("activated", "bool", "Activated", False), ("force", "bool", "Force CT even if client is connected", False), - ("passkey", "password", "Access key", ""),] + ("passkey", "password", "Access key", ""), ] __author_name__ = ("RaNaN", "zoidberg") __author_mail__ = ("RaNaN@pyload.org", "zoidberg@mujmail.cz") @@ -42,37 +43,33 @@ class ExpertDecoders(Hook): def setup(self): self.info = {} - def getCredits(self): - response = getURL(self.API_URL, post = { "key": self.getConfig("passkey"), "action": "balance" }) - - if response.isdigit(): + def getCredits(self): + response = getURL(self.API_URL, post={"key": self.getConfig("passkey"), "action": "balance"}) + + if response.isdigit(): self.logInfo(_("%s credits left") % response) self.info["credits"] = credits = int(response) - return credits + return credits else: self.logError(response) return 0 - - def processCaptcha(self, task): + + def processCaptcha(self, task): task.data["ticket"] = ticket = uuid4() result = None - + with open(task.captchaFile, 'rb') as f: - data = f.read() - data = b64encode(data) + data = f.read() + data = b64encode(data) #self.logDebug("%s: %s : %s" % (ticket, task.captchaFile, data)) req = getRequest() #raise timeout threshold req.c.setopt(LOW_SPEED_TIME, 80) - + try: - result = req.load(self.API_URL, - post={ "action": "upload", - "key": self.getConfig("passkey"), - "file": data, - "gen_task_id": ticket } - ) + result = req.load(self.API_URL, post={"action": "upload", "key": self.getConfig("passkey"), + "file": data, "gen_task_id": ticket}) finally: req.close() @@ -99,14 +96,11 @@ class ExpertDecoders(Hook): def captchaInvalid(self, task): if "ticket" in task.data: - + try: - response = getURL(self.API_URL, - post={ "action": "refund", - "key": self.getConfig("passkey"), - "gen_task_id": task.data["ticket"] } - ) + response = getURL(self.API_URL, post={"action": "refund", "key": self.getConfig("passkey"), + "gen_task_id": task.data["ticket"]}) self.logInfo("Request refund: %s" % response) except BadHeader, e: - self.logError("Could not send refund request.", str(e))
\ No newline at end of file + self.logError("Could not send refund request.", str(e)) |