Permalink
Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.
Sign up
Fetching contributors…
Cannot retrieve contributors at this time
{ | |
"translatorID": "915c326f-06c5-4833-b7b7-54c63f88b135", | |
"label": "Library Catalog (Aquabrowser)", | |
"creator": "Sebastian Karcher", | |
"target": "/fullrecordinnerframe\\.ashx\\?.+id=|/result\\.ashx\\?", | |
"minVersion": "3.0", | |
"maxVersion": "", | |
"priority": 270, | |
"inRepository": true, | |
"translatorType": 4, | |
"browserSupport": "gcsbv", | |
"lastUpdated": "2014-08-26 03:51:35" | |
} | |
/* | |
***** BEGIN LICENSE BLOCK ***** | |
Copyright © 2011 Sebastian Karcher and the Center for History and New Media | |
George Mason University, Fairfax, Virginia, USA | |
http://zotero.org | |
This file is part of Zotero. | |
Zotero is free software: you can redistribute it and/or modify | |
it under the terms of the GNU Affero General Public License as published by | |
the Free Software Foundation, either version 3 of the License, or | |
(at your option) any later version. | |
Zotero is distributed in the hope that it will be useful, | |
but WITHOUT ANY WARRANTY; without even the implied warranty of | |
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
GNU Affero General Public License for more details. | |
You should have received a copy of the GNU Affero General Public License | |
along with Zotero. If not, see <http://www.gnu.org/licenses/>. | |
***** END LICENSE BLOCK ***** | |
*/ | |
/* other working implementations: | |
http://zoeken.oba.nl/ | |
http://aquabrowser.lib.ed.ac.uk | |
http://boss.library.okstate.edu/ | |
Not working bc export isn't implemented: None of these are academic, so I'm not particularly worried | |
http://cabrio.bibliotheek.brugge.be/ | |
http://aquabrowser.selco.info/?c_profile=rw | |
http://kcaqua.kclibrary.org | |
http://aquabrowser.biboostende.be/ | |
http://abl.courthouselibrary.ca/ | |
http://leocat.saintleo.edu | |
*/ | |
function detectWeb(doc, url) { | |
if (url.match(/\/result\.ashx\?/) && ZU.xpath(doc, '//div[@class="titlenew"]//a[@class="classiclink"]').length>0) return "multiple"; | |
if (url.match(/\/fullrecordinnerframe\.ashx\?.+id=/)) return "book"; | |
} | |
function doWeb(doc, url){ | |
var articles = new Array(); | |
if (detectWeb(doc, url) == "multiple") { | |
var items = {}; | |
var titles = doc.evaluate('//div[@class="titlenew"]//a[@class="classiclink"]', doc, null, XPathResult.ANY_TYPE, null); | |
var title; | |
var id; | |
while (title = titles.iterateNext()) { | |
items[title.href] = ZU.trimInternal(title.textContent); | |
} | |
Zotero.selectItems(items, function (items) { | |
if (!items) { | |
return true; | |
} | |
for (var i in items) { | |
//some implementations don't have direct links, just the id in javascript | |
if (i.search(/^javascript/)!=-1){ | |
//remove the javascript escaping | |
i=i.replace(/\\/g, ""); | |
id = "itemid=" + i.match(/\(\'(.+?)\'/)[1]; | |
} | |
else id = i.match(/[^&\?]+id=[^&]+/)[0] | |
articles.push(makeURL(id)); | |
} | |
//Z.debug(articles) | |
scrape(articles); | |
}); | |
} else { | |
var id = url.match(/[^&\?]+id=[^&]+/)[0]; | |
var risurl = makeURL(id); | |
scrape (risurl); | |
} | |
} | |
function makeURL(id){ | |
var idnumber = id.match(/=(.+)/)[1]; | |
var risurl = "/export.ashx?type=export-ris&app=endnote&file=" +idnumber + "&" + id; | |
return risurl; | |
} | |
function scrape(risurl){ | |
Zotero.Utilities.HTTP.doGet(risurl, function (text) { | |
//I'll leave this debugging in for the time being | |
Z.debug("This should be RIS: " + text) | |
//fix years - we don't like letters immediately before dates | |
text = text.replace(/(Y - )[A-Za-z]+(\d{4})/, "$1$2"); | |
//apparently the RIS doesn't do well with item types | |
text = text.replace(/TY - (Boek|GEN)/, "TY - BOOK"); | |
var translator = Zotero.loadTranslator("import"); | |
translator.setTranslator("32d59d2d-b65a-4da4-b0a3-bdd3cfb979e7"); | |
translator.setString(text); | |
translator.setHandler("itemDone", function(obj, item) { | |
if (item.pages) item.numPages = item.pages; | |
//remove space before : | |
item.title = item.title.replace(/\s+:/, ":"); | |
for (i in item.creators){ | |
//for some reason there's often a period after the first name of authors. Delete this, making sure it's not an initial | |
if (item.creators[i].firstName){ | |
item.creators[i].firstName = item.creators[i].firstName.replace(/([a-z]+)\.\s*$/, "$1"); | |
} | |
} | |
item.url = ""; | |
item.complete(); | |
}); | |
translator.translate(); | |
}); | |
}/** BEGIN TEST CASES **/ | |
var testCases = [ | |
{ | |
"type": "web", | |
"url": "http://lens.lib.uchicago.edu/result.ashx?inlibrary=false&noext=false&debug=&lastquery=&lvq=&lsi=&uilang=en&searchmode=assoc&hardsort=&skin=hybrid-uc&rctx=&c_over=1&curpage=1&concept=institutions&branch=&ref=&i_fk=&mxdk=-1&q=institutions&si=user&cs=user&cmd=find#", | |
"items": "multiple" | |
}, | |
{ | |
"type": "web", | |
"url": "http://lens.lib.uchicago.edu/fullrecordinnerframe.ashx?skin=hybrid-uc&cmd=frec&cs=url&hreciid=|library%2fmarc%2fuc|4857057", | |
"items": [ | |
{ | |
"itemType": "book", | |
"creators": [ | |
{ | |
"lastName": "Turner", | |
"firstName": "Jonathan H.", | |
"creatorType": "author" | |
} | |
], | |
"notes": [ | |
{ | |
"note": "<p>Includes bibliographical references (p. 283-300) and indexes.</p>" | |
} | |
], | |
"tags": [ | |
"Social institutions.", | |
"Social evolution." | |
], | |
"seeAlso": [], | |
"attachments": [], | |
"title": "Human institutions: a theory of societal evolution", | |
"place": "Lanham", | |
"publisher": "Rowman & Littlefield", | |
"ISBN": "0742525589 (cloth : alk. paper)", | |
"numPages": "xiv, 309 p.", | |
"abstractNote": "1. Institutional Analysis -- 2. A Theory of Macrodynamic Forces -- 3. The Institutional Core -- 4. Institutional Systems of Hunter-Gatherer Populations -- 5. Institutional Systems of Horticultural Populations -- 6. Institutional Systems of Agrarian Populations -- 7. Institutional Systems of Industrial and Post-industrial Populations -- 8. Fundamental Interchanges Among Institutions.", | |
"callNumber": "HM826 .T87 2003 Regenstein, Bookstacks", | |
"date": "2003", | |
"libraryCatalog": "Library Catalog (Aquabrowser)", | |
"shortTitle": "Human institutions" | |
} | |
] | |
}, | |
{ | |
"type": "web", | |
"url": "http://hollis.harvard.edu/result.ashx?inlibrary=false&noext=false&debug=&lastquery=&lvq=&lsi=&uilang=en&searchmode=assoc&hardsort=&skin=harvard&c_over=1&curpage=1&concept=thelen&branch=&ref=&i_fk=&mxdk=-1&q=thelen&si=user&cs=url&cmd=find", | |
"items": "multiple" | |
}, | |
{ | |
"type": "web", | |
"url": "http://hollis.harvard.edu/fullrecordinnerframe.ashx?skin=harvard&cmd=frec&cs=url&hreciid=%7clibrary%2fm%2faleph%7c001633883&curpage=1&uilang=en&c_over=1&rctx=AAMAAAABAAAAAwAAAKRSAAAHaGFydmFyZAAAAAAAAAAEZnJlYwAafGxpYnJhcnkvbS9hbGVwaHwwMDE2MzM4ODMAAAADdXJsBWFzc29jAQAAAAAAAAACZW4AAP%2f%2f%2f%2f8AAAAAAAAAAAIAAAAGY19vdmVyATEEaV9mawAAAAAA", | |
"items": [ | |
{ | |
"itemType": "book", | |
"creators": [ | |
{ | |
"lastName": "Thelen", | |
"firstName": "Christian", | |
"creatorType": "author" | |
} | |
], | |
"notes": [ | |
{ | |
"note": "<p>Includes bibliographical references (p. [703]-726) and index.</p>" | |
}, | |
{ | |
"note": "<p>HOLLIS no. 001633883</p>" | |
} | |
], | |
"tags": [ | |
"German literature -- Middle High German, 1050-1500 -- History and criticism.", | |
"German literature -- Old High German, 750-1050 -- History and criticism.", | |
"Prayer in literature.", | |
"Prayers, Medieval." | |
], | |
"seeAlso": [], | |
"attachments": [], | |
"title": "Das Dichtergebet in der deutschen Literatur des Mittelalters", | |
"place": "Berlin ;New York", | |
"publisher": "W. De Gruyter", | |
"ISBN": "3110116715", | |
"numPages": "x, 726 p.", | |
"callNumber": "Widener Harvard Depository PT573.R4 T4 1989x [Consult Circ. Desk for HX45IM]", | |
"series": "Arbeiten zur Frühmittelalterforschung ; Bd. 18", | |
"volume": "Bd. 18", | |
"date": "1989", | |
"libraryCatalog": "Library Catalog (Aquabrowser)" | |
} | |
] | |
}, | |
{ | |
"type": "web", | |
"url": "http://aquabrowser.hhs.nl/fullrecordinnerframe.ashx?skin=hhs&q=institutions&cmd=frec&si=user&cs=resultlist&hreciid=|library%2fhhs|20438", | |
"items": [ | |
{ | |
"itemType": "book", | |
"creators": [ | |
{ | |
"lastName": "Erskine", | |
"firstName": "Toni", | |
"creatorType": "seriesEditor" | |
} | |
], | |
"notes": [], | |
"tags": [ | |
"Internationale organisaties", | |
"Ethische aspecten" | |
], | |
"seeAlso": [], | |
"attachments": [], | |
"title": "Can institutions have responsibilities?", | |
"series": "collective moral agency and international relations", | |
"numPages": "XII, 241 p", | |
"place": "Basingstoke [etc.]", | |
"publisher": "Palgrave Macmillan", | |
"ISBN": "0333971299", | |
"abstractNote": "Assigning responsibilities to institutional moral agents : the case of states and 'quasi-states' / Toni Erskine -- Moral responsibility and the problem of representing the state / David Runiciman -- Moral agency and international society : reflections on norms, the UN, the Gulf War, and the Kosovo campaign / Chris Brown -- Collective moral agency and the political process / Frances V. Harbour -- Constitutive theory and moral accountability : individuals, institutions, and dispersed practices / Mervyn Frost -- When agents cannot act : international institutions as 'moral patients' / Cornelia Navari -- NATO and the individual soldier as moral agents with reciprocal duties : imbalance in the Kosovo campaign / Paul Cornish, Frances V. Harbour -- The anti-sweatshop movement : constructing corporate moral agency in the global apparel industry / Rebecca DeWinter -- The responsibility of collective external bystanders in cases of genocide : the French in Rwanda / Daniela Kroslak -- The United Nations and the fall of Srebrenica : meaningful responsibility and international society / Anthony Lang, Jr. -- On 'good global governance', institutional design, and the practices of moral agency / Nicholas Rengger -- Global justice: aims, arrangements, and responsibilities / Christian Barry", | |
"date": "2003", | |
"libraryCatalog": "Library Catalog (Aquabrowser)" | |
} | |
] | |
} | |
] | |
/** END TEST CASES **/ |