From 265c1a0711e5e50b8507ba35253f2dc55e01f88e Mon Sep 17 00:00:00 2001 From: RaNaN Date: Fri, 29 Mar 2013 22:42:20 +0100 Subject: fix in update file info, moved recaptcha back --- module/database/FileDatabase.py | 8 +++++--- module/plugins/ReCaptcha.py | 22 ++++++++++++++++++++++ module/plugins/internal/ReCaptcha.py | 21 --------------------- module/web/static/js/models/ConfigHolder.js | 1 + module/web/templates/default/dashboard.html | 1 + 5 files changed, 29 insertions(+), 24 deletions(-) create mode 100644 module/plugins/ReCaptcha.py delete mode 100644 module/plugins/internal/ReCaptcha.py (limited to 'module') diff --git a/module/database/FileDatabase.py b/module/database/FileDatabase.py index 67a15912a..023dd1dc5 100644 --- a/module/database/FileDatabase.py +++ b/module/database/FileDatabase.py @@ -305,15 +305,17 @@ class FileMethods(DatabaseMethods): stats.get(r[0], zero_stats) if stats else None ) + # TODO: does this need owner? @async - def updateLinkInfo(self, data, owner): + def updateLinkInfo(self, data): """ data is list of tuples (name, size, status,[ hash,] url)""" + # status in (NA, Offline, Online, Queued, TempOffline) if data and len(data[0]) == 4: - self.c.executemany('UPDATE files SET name=?, size=?, dlstatus=? WHERE url=? AND dlstatus IN (0,1,2,3,14)', + self.c.executemany('UPDATE files SET name=?, size=?, dlstatus=? WHERE url=? AND dlstatus IN (0,1,2,3,11)', data) else: self.c.executemany( - 'UPDATE files SET name=?, size=?, dlstatus=?, hash=? WHERE url=? AND dlstatus IN (0,1,2,3,14)', data) + 'UPDATE files SET name=?, size=?, dlstatus=?, hash=? WHERE url=? AND dlstatus IN (0,1,2,3,11)', data) @async def updateFile(self, f): diff --git a/module/plugins/ReCaptcha.py b/module/plugins/ReCaptcha.py new file mode 100644 index 000000000..e47522b4a --- /dev/null +++ b/module/plugins/ReCaptcha.py @@ -0,0 +1,22 @@ +import re + +class ReCaptcha(): + def __init__(self, plugin): + self.plugin = plugin + self.plugin.logDebug("Deprecated usage of ReCaptcha: Use CaptchaService instead") + + def challenge(self, id): + js = self.plugin.req.load("http://www.google.com/recaptcha/api/challenge", get={"k":id}, cookies=True) + + try: + challenge = re.search("challenge : '(.*?)',", js).group(1) + server = re.search("server : '(.*?)',", js).group(1) + except: + self.plugin.fail("recaptcha error") + result = self.result(server,challenge) + + return challenge, result + + def result(self, server, challenge): + return self.plugin.decryptCaptcha("%simage"%server, get={"c":challenge}, cookies=True, imgtype="jpg") + diff --git a/module/plugins/internal/ReCaptcha.py b/module/plugins/internal/ReCaptcha.py deleted file mode 100644 index 6f7ebe22c..000000000 --- a/module/plugins/internal/ReCaptcha.py +++ /dev/null @@ -1,21 +0,0 @@ -import re - -class ReCaptcha(): - def __init__(self, plugin): - self.plugin = plugin - - def challenge(self, id): - js = self.plugin.req.load("http://www.google.com/recaptcha/api/challenge", get={"k":id}, cookies=True) - - try: - challenge = re.search("challenge : '(.*?)',", js).group(1) - server = re.search("server : '(.*?)',", js).group(1) - except: - self.plugin.fail("recaptcha error") - result = self.result(server,challenge) - - return challenge, result - - def result(self, server, challenge): - return self.plugin.decryptCaptcha("%simage"%server, get={"c":challenge}, cookies=True, imgtype="jpg") - diff --git a/module/web/static/js/models/ConfigHolder.js b/module/web/static/js/models/ConfigHolder.js index 37af9d70e..b05b1e14b 100644 --- a/module/web/static/js/models/ConfigHolder.js +++ b/module/web/static/js/models/ConfigHolder.js @@ -34,6 +34,7 @@ define(['jquery', 'backbone', 'underscore', 'app', './ConfigItem'], } }); config.items = items; + // TODO: only set new values on success options = App.apiRequest('saveConfig', {config: config}, options); diff --git a/module/web/templates/default/dashboard.html b/module/web/templates/default/dashboard.html index e8041e700..41da71c6c 100644 --- a/module/web/templates/default/dashboard.html +++ b/module/web/templates/default/dashboard.html @@ -86,6 +86,7 @@