commit 542584eed30f4859996b8d674dd53955851791eb
parent 4fdfdd341b2d1af577b6bc2ea1bc7273febfd9d5
Author: Dan Stillman <dstillman@zotero.org>
Date: Tue, 13 Feb 2018 19:05:02 -0500
Make no-results error for search translation available as a property
This allows translation-server to return a specific error code when
there were no results.
Also clarify the debug logging for search translation.
Diffstat:
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/chrome/content/zotero/xpcom/translation/translate.js b/chrome/content/zotero/xpcom/translation/translate.js
@@ -2587,6 +2587,7 @@ Zotero.Translate.Search.prototype = new Zotero.Translate.Base();
Zotero.Translate.Search.prototype.type = "search";
Zotero.Translate.Search.prototype._entryFunctionSuffix = "Search";
Zotero.Translate.Search.prototype.Sandbox = Zotero.Translate.Sandbox._inheritFromBase(Zotero.Translate.Sandbox.Search);
+Zotero.Translate.Search.prototype.ERROR_NO_RESULTS = "No items returned from any translator";
/**
* @borrows Zotero.Translate.Web#setCookieSandbox
@@ -2664,7 +2665,8 @@ Zotero.Translate.Search.prototype.complete = function(returnValue, error) {
&& !this._savingItems
//length is 0 only when translate was called without translators
&& this.translator.length) {
- Zotero.debug("Translate: Could not find a result using "+this.translator[0].label, 3);
+ Zotero.debug("Translate: Could not find a result using " + this.translator[0].label
+ + (this.translator.length > 1 ? " -- trying next translator" : ""), 3);
if(error) Zotero.debug(this._generateErrorString(error), 3);
if(this.translator.length > 1) {
this.translator.shift();
@@ -2675,7 +2677,8 @@ Zotero.Translate.Search.prototype.complete = function(returnValue, error) {
});
return;
} else {
- error = "No items returned from any translator";
+ Zotero.debug("No more translators to try");
+ error = this.ERROR_NO_RESULTS;
returnValue = false;
}
}