diff options
Diffstat (limited to 'tests/helper')
-rw-r--r-- | tests/helper/PluginTester.py | 79 |
1 files changed, 24 insertions, 55 deletions
diff --git a/tests/helper/PluginTester.py b/tests/helper/PluginTester.py index 2bfb16af7..b3c93311c 100644 --- a/tests/helper/PluginTester.py +++ b/tests/helper/PluginTester.py @@ -7,7 +7,6 @@ from shutil import move from sys import exc_clear, exc_info from logging import log, DEBUG from time import sleep, time -from random import randint from glob import glob from pycurl import LOW_SPEED_TIME, FORM_FILE @@ -15,7 +14,7 @@ from json import loads from Stubs import Thread, Core, noop -from pyload.network.RequestFactory import getRequest, getURL +from pyload.network.RequestFactory import getRequest from pyload.plugins.Base import Abort, Fail from pyload.plugins.Hoster import Hoster @@ -50,74 +49,44 @@ def decryptCaptcha(self, url, get={}, post={}, cookies=False, forceUser=False, i temp_file.write(img) temp_file.close() - Ocr = self.core.pluginManager.loadClass("captcha", self.__name__) - - if Ocr: - log(DEBUG, "Using tesseract for captcha") - sleep(randint(3000, 5000) / 1000.0) - if self.pyfile.abort: raise Abort - - ocr = Ocr() - result = ocr.get_captcha(temp_file.name) - else: - log(DEBUG, "Using ct for captcha") - # put username and passkey into two lines in ct.conf - conf = join(expanduser("~"), "ct.conf") - if not exists(conf): raise Exception("CaptchaTrader config %s not found." % conf) - f = open(conf, "rb") - req = getRequest() - - #raise timeout threshold - req.c.setopt(LOW_SPEED_TIME, 80) - - try: - json = req.load("http://captchatrader.com/api/submit", - post={"api_key": "9f65e7f381c3af2b076ea680ae96b0b7", - "username": f.readline().strip(), - "password": f.readline().strip(), - "value": (FORM_FILE, temp_file.name), - "type": "file"}, multipart=True) - finally: - f.close() - req.close() - - response = loads(json) - log(DEBUG, str(response)) - result = response[1] - - self.cTask = response[0] - - return result - -Hoster.decryptCaptcha = decryptCaptcha - - -def respond(ticket, value): + log(DEBUG, "Using ct for captcha") + # put username and passkey into two lines in ct.conf conf = join(expanduser("~"), "ct.conf") + if not exists(conf): raise Exception("CaptchaService config %s not found." % conf) f = open(conf, "rb") + req = getRequest() + + #raise timeout threshold + req.c.setopt(LOW_SPEED_TIME, 300) + try: - getURL("http://captchatrader.com/api/respond", - post={"is_correct": value, + json = req.load("http://captchatrader.com/api/submit", + post={"api_key": "9f65e7f381c3af2b076ea680ae96b0b7", "username": f.readline().strip(), "password": f.readline().strip(), - "ticket": ticket}) - except Exception, e : - print "CT Exception:", e - log(DEBUG, str(e)) + "value": (FORM_FILE, temp_file.name), + "type": "file"}, multipart=True) finally: f.close() + req.close() + + response = loads(json) + log(DEBUG, str(response)) + result = response[1] + + self.cTask = response[0] + + return result + +Hoster.decryptCaptcha = decryptCaptcha def invalidCaptcha(self): log(DEBUG, "Captcha invalid") - if self.cTask: - respond(self.cTask, 0) Hoster.invalidCaptcha = invalidCaptcha def correctCaptcha(self): log(DEBUG, "Captcha correct") - if self.cTask: - respond(self.cTask, 1) Hoster.correctCaptcha = correctCaptcha |