commit fc6847ca9872ee537f46ecc2df75a00bdc8c74e8
parent 2190c82dcf86c5c25473cfc58c995413b85abf03
Author: Dan Stillman <dstillman@zotero.org>
Date: Thu, 7 Jan 2010 09:59:43 +0000
Pushed updated Ovid translator that supports non-English interfaces
Diffstat:
1 file changed, 24 insertions(+), 9 deletions(-)
diff --git a/translators/Ovid.js b/translators/Ovid.js
@@ -8,7 +8,7 @@
"maxVersion":"",
"priority":100,
"inRepository":true,
- "lastUpdated":"2009-12-23 18:00:00"
+ "lastUpdated":"2010-01-07 10:00:00"
}
function detectWeb(doc, url) {
@@ -17,16 +17,31 @@ function detectWeb(doc, url) {
if (prefix == 'x') return namespace; else return null;
} : null;
- var results = doc.evaluate('//div[@class="bibheader-resultsrange"]/b', doc, nsResolver,
- XPathResult.ANY_TYPE, null).iterateNext();
-
- if(!doc.evaluate('//span[contains(./text(), "Results Manager")]', doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()) {
+ var rmXPath = '//span[';
+ var rmText = [
+ "Results Manager",
+ "Gestionnaire des résultats",
+ "Ergebnismanager",
+ "檢索結果管理員",
+ "Administrador de resultados",
+ "检索结果管理员"
+ ];
+ var contains = [];
+ for each(var str in rmText) {
+ contains.push('contains(./text(), "' + str + '")');
+ }
+ rmXPath += contains.join(' or ') + ']'
+ if(!doc.evaluate(rmXPath, doc, nsResolver, XPathResult.ANY_TYPE, null).iterateNext()) {
return false;
}
- if(results) {
- results = Zotero.Utilities.trimInternal(results.textContent);
- if(results.indexOf("-") != -1) {
+ var results = doc.evaluate('//div[@class="bibheader-resultsrange"]/b', doc, nsResolver, XPathResult.ANY_TYPE, null);
+ var first = results.iterateNext();
+ if(first) {
+ first = Zotero.Utilities.trimInternal(first.textContent);
+ var second = results.iterateNext();
+ second = Zotero.Utilities.trimInternal(second.textContent);
+ if(first.indexOf("-") != -1 || second.indexOf("-") != -1) {
return "multiple";
} else {
return "journalArticle";
@@ -185,6 +200,6 @@ function doWeb(doc, url) {
if(haveStarted) {
newItem.complete();
}
- });
+ }, function () { Zotero.done(); });
Zotero.wait();
}
\ No newline at end of file