From 07918260c1efb1378f183b8f01fc24022a6c8b2d Mon Sep 17 00:00:00 2001 From: Matt Burton Date: Mon, 10 Aug 2009 16:22:00 +0000 Subject: [PATCH] Fixes #1528, upated Voyager 7 to handled extra /uiu/ in url --- translators/Library Catalog (Voyager 7).js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/translators/Library Catalog (Voyager 7).js b/translators/Library Catalog (Voyager 7).js index bce3e291e..2e0cb1f51 100644 --- a/translators/Library Catalog (Voyager 7).js +++ b/translators/Library Catalog (Voyager 7).js @@ -8,7 +8,7 @@ "maxVersion":"", "priority":100, "inRepository":true, - "lastUpdated":"2009-07-23 10:00:00" + "lastUpdated":"2009-08-10 12:00:00" } function detectWeb(doc, url){ @@ -22,7 +22,7 @@ function detectWeb(doc, url){ if (prefix == 'x') return namespace; else return null; } : null; - var titles = doc.evaluate('//div[@class="resultListTextCell"]/div/label', doc, nsResolver, XPathResult.ANY_TYPE, null); + var titles = doc.evaluate('//div[@class="resultListTextCell"]//a', doc, nsResolver, XPathResult.ANY_TYPE, null); if (titles.iterateNext()){ return "multiple"; } @@ -34,6 +34,7 @@ function doWeb(doc, url){ var hostRegexp = new RegExp("^(https?://[^/]+)/"); var hMatch = hostRegexp.exec(url); var host = hMatch[1]; + var urlPrefix = url.indexOf("/uiu/") != -1 ? host + "/uiu/vwebv/exportRecord.do?bibId=" : host + "/vwebv/exportRecord.do?bibId="; var namespace = doc.documentElement.namespaceURI; var nsResolver = namespace ? function(prefix) { @@ -43,20 +44,20 @@ function doWeb(doc, url){ var newUris = new Array(); if (m){ //single item - newUris.push(host + "/vwebv/exportRecord.do?bibId=" + m[1] + "&format=utf-8"); + newUris.push(urlPrefix + m[1] + "&format=utf-8"); } else { //search results var items = new Object(); - var titles = doc.evaluate('//div[@class="resultListTextCell"]/div/label', doc, nsResolver, XPathResult.ANY_TYPE, null); + var titles = doc.evaluate('//div[@class="resultListTextCell"]//a', doc, nsResolver, XPathResult.ANY_TYPE, null); var title; while (title = titles.iterateNext()) { - var bibId = doc.evaluate('@for', title, nsResolver, XPathResult.ANY_TYPE, null).iterateNext().textContent; + var bibId = title.href.match(/bibId=([0-9]+)/)[1]; items[bibId] = title.textContent; } items = Zotero.selectItems(items); for (var i in items) { - newUris.push(host + "/vwebv/exportRecord.do?bibId=" + i + "&format=utf-8"); + newUris.push(urlPrefix + i + "&format=utf-8"); } }