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)) | 
