Trans: Fixed Aleph by Ming Yeung Cheung, see http://forums.zotero.org/discussion/17299/
Still concerns with multiple item save, but at least sometimes works
This commit is contained in:
parent
d3a58f9477
commit
939a105cfe
1 changed files with 47 additions and 6 deletions
|
@ -2,7 +2,7 @@
|
||||||
"translatorID":"cf87eca8-041d-b954-795a-2d86348999d5",
|
"translatorID":"cf87eca8-041d-b954-795a-2d86348999d5",
|
||||||
"translatorType":4,
|
"translatorType":4,
|
||||||
"label":"Library Catalog (Aleph)",
|
"label":"Library Catalog (Aleph)",
|
||||||
"creator":"Simon Kornblith and Michael Berkowitz",
|
"creator":"Simon Kornblith, Michael Berkowitz, Ming Yeung Cheung",
|
||||||
"target":"https?://[^/]+/F(?:/[A-Z0-9\\-]+(?:\\?.*)?$|\\?func=find|\\?func=scan|\\?func=short)",
|
"target":"https?://[^/]+/F(?:/[A-Z0-9\\-]+(?:\\?.*)?$|\\?func=find|\\?func=scan|\\?func=short)",
|
||||||
"minVersion":"1.0.0b3.r1",
|
"minVersion":"1.0.0b3.r1",
|
||||||
"maxVersion":"",
|
"maxVersion":"",
|
||||||
|
@ -11,8 +11,34 @@
|
||||||
"lastUpdated":"2009-10-22 19:00:00"
|
"lastUpdated":"2009-10-22 19:00:00"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
Aleph OPAC Translator
|
||||||
|
Example installations (mainly French):
|
||||||
|
http://naude.bibliotheque-mazarine.fr/
|
||||||
|
http://bibli.polytechnique.fr/
|
||||||
|
http://sifrix2.sdv.fr/
|
||||||
|
http://aleph.insa-rouen.fr
|
||||||
|
http://brenet.ens-lyon.fr
|
||||||
|
http://bu-pau.univ-pau.fr/
|
||||||
|
http://babel.bu.univ-paris5.fr
|
||||||
|
http://inti.univ-paris4.fr/
|
||||||
|
http://aleph.u-paris10.fr/
|
||||||
|
http://servaleph.univ-catholyon.fr/
|
||||||
|
http://armada.scd.univ-paris12.fr/
|
||||||
|
http://catalogue.univ-angers.fr/
|
||||||
|
http://biblio.ville-lehavre.fr/
|
||||||
|
http://opac.nebis.ch/
|
||||||
|
http://scd2.univ-lille1.fr/
|
||||||
|
http://catalogue.univ-paris1.fr/
|
||||||
|
http://source.ulg.ac.be/
|
||||||
|
http://med.cite-sciences.fr/
|
||||||
|
http://biblio.mulhouse.fr/
|
||||||
|
http://mediatheque.sigdci76.fr/
|
||||||
|
http://opac.biu-montpellier.fr/
|
||||||
|
*/
|
||||||
|
|
||||||
function detectWeb(doc, url) {
|
function detectWeb(doc, url) {
|
||||||
var singleRe = new RegExp("^https?://[^/]+/F/[A-Z0-9\-]+\?.*(?:func=full-set-set.*\&format=[0-9]{3}|func=direct|func=myshelf-full.*)");
|
var singleRe = new RegExp("^https?://[^/]+/F/[A-Z0-9\-]+\?.*(?:func=full-set-set|func=direct|func=myshelf-full.*)");
|
||||||
|
|
||||||
if(singleRe.test(doc.location.href)) {
|
if(singleRe.test(doc.location.href)) {
|
||||||
return "book";
|
return "book";
|
||||||
|
@ -27,14 +53,29 @@ function detectWeb(doc, url) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function doWeb(doc, url) {
|
function doWeb(doc, url) {
|
||||||
var detailRe = new RegExp("^https?://[^/]+/F/[A-Z0-9\-]+\?.*(?:func=full-set-set.*\&format=[0-9]{3}|func=direct|func=myshelf-full.*)");
|
var detailRe = new RegExp("^https?://[^/]+/F/[A-Z0-9\-]+\?.*(?:func=full-set-set|func=direct|func=myshelf-full|func=myself_full.*)");
|
||||||
var mab2Opac = new RegExp("^https?://[^/]+berlin|193\.30\.112\.134|duisburg-essen/F/[A-Z0-9\-]+\?.*");
|
var mab2Opac = new RegExp("^https?://[^/]+berlin|193\.30\.112\.134|duisburg-essen/F/[A-Z0-9\-]+\?.*");
|
||||||
var uri = doc.location.href;
|
var uri = doc.location.href;
|
||||||
var newUris = new Array();
|
var newUris = new Array();
|
||||||
|
|
||||||
if(detailRe.test(uri)) {
|
if(detailRe.test(uri)) {
|
||||||
var newuri = uri.replace(/\&format=[0-9]{3}/, "&format=001");
|
// find the 'add to basket' link where it will have the document number, replace the function with 'direct'
|
||||||
if (newuri == uri) newuri += "&format=001";
|
if (doc.evaluate('//*[contains(@href, "myshelf-add-ful-1")]', doc, null, XPathResult.ANY_TYPE, null).iterateNext()) {
|
||||||
|
var elmts_add = doc.evaluate('//*[contains(@href, "myshelf-add-ful-1")]', doc, null, XPathResult.ANY_TYPE, null);
|
||||||
|
var adduri = elmts_add.iterateNext().attributes.getNamedItem("href").value;
|
||||||
|
adduri = adduri.replace("myshelf-add-ful-1", "direct");
|
||||||
|
//adduri = adduri.replace("myshelf-add-ful-1", "myshelf-full");
|
||||||
|
var baseuri = uri.match(".*\\?");
|
||||||
|
var funcuri = adduri.match("\\?.*");
|
||||||
|
newuri = baseuri + funcuri[0].match("[^\\?].*");
|
||||||
|
newuri += "&format=001";
|
||||||
|
//Zotero.debug('baseuri = ' + baseuri);
|
||||||
|
//Zotero.debug('funcuri = ' + funcuri);
|
||||||
|
Zotero.debug('directuri = ' + newuri);
|
||||||
|
} else {
|
||||||
|
var newuri = uri.replace(/\&format=[0-9]{3}/, "&format=001");
|
||||||
|
if (newuri == uri) newuri += "&format=001";
|
||||||
|
}
|
||||||
newUris.push(newuri);
|
newUris.push(newuri);
|
||||||
} else {
|
} else {
|
||||||
var itemRegexp = '^https?://[^/]+/F/[A-Z0-9\-]+\?.*(?:func=full-set-set.*\&format=999|func=direct|func=myshelf-full.*)'
|
var itemRegexp = '^https?://[^/]+/F/[A-Z0-9\-]+\?.*(?:func=full-set-set.*\&format=999|func=direct|func=myshelf-full.*)'
|
||||||
|
|
Loading…
Reference in a new issue