From 15d09c3098fd99c03a774b579f93010623278141 Mon Sep 17 00:00:00 2001 From: "Silas S. Brown" <ssb22@cam.ac.uk> Date: Mon, 17 Oct 2016 20:43:59 +0000 Subject: [PATCH] Update Web Adjuster git-svn-id: http://svn.code.sf.net/p/e-guidedog/code/ssb22/adjuster@2601 29193198-4895-4776-b068-10539e920549 --- adjuster.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/adjuster.py b/adjuster.py index 33785de..9b08280 100755 --- a/adjuster.py +++ b/adjuster.py @@ -2190,9 +2190,13 @@ function adjusterScan() { r.open("POST",%s"%s",false); r.send(JSON.stringify(texts)); replacements = JSON.parse(r.responseText); - if (replacements.length>=texts.length) { + if (replacements.length > texts.length) { + if(!window.errorAlerted) { alert("The filter server gave too many strings. I'm ignoring some and hoping for the best. Some text might be incorrect."); window.errorAlerted=1; } + replacements = replacements.slice(0,texts.length); + } + if (replacements.length==texts.length) { oldTexts = texts; tw0(); - } else break; // TODO: handle as error? + } else break; /* TODO: handle as error? */ %s } HTMLSizeChanged(adjusterScan) @@ -2330,7 +2334,7 @@ def runFilterOnText(cmd,codeTextList,callback,escape=False,separator=None): elif replacements==None: r.append(maybeEsc(i)) else: cl = countItems(["",i]) # >= 1 (site might already use separator) - r.append(maybeEsc(separator.join(replacements[rLine:rLine+cl]))) + r.append(maybeEsc(separator.join(rpl.replace(chr(0),"<NULL>") for rpl in replacements[rLine:rLine+cl]))) # there shouldn't be any chr(0)s in the o/p, but if there are, don't let them confuse things rLine += cl elif codeAlso: r.append(maybeEsc(i)) isTxt = not isTxt -- GitLab