Created
May 17, 2009 07:52
-
-
Save rmzelle/112954 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
REPLACE INTO translators VALUES ('83d71ab9-ca73-473d-9f36-9b9ce7a765f0', '1.0.0b4.r5', '', '2009-05-17 11:43:47', '0', '101', '4', 'BioOne Redux', 'Michael Berkowitz and Rintze Zelle', 'http://[^/]*www.bioone.org[^/]*/', | |
'function detectWeb(doc, url) { | |
var namespace = doc.documentElement.namespaceURI; | |
var nsResolver = namespace ? function(prefix) { | |
if (prefix == ''x'') return namespace; else return null; | |
} : null; | |
if (url.indexOf("/action/doSearch") != -1 || url.indexOf("/action/showBook") != -1 || url.indexOf("/toc/") != -1) { | |
return "multiple"; | |
} else if (url.indexOf("/doi/") != -1) { | |
var links = doc.evaluate("//a[@href]", doc, nsResolver, XPathResult.ANY_TYPE, null); | |
var bookRe=new RegExp("action/showBook"); | |
while (headers = links.iterateNext()) { | |
if (bookRe.test(headers.toString())) { | |
return "chapter"; | |
} | |
} | |
return "journalArticle"; | |
} | |
} | |
/* | |
doesn''t gracefully fail for pages without accompanying RIS, or when no items are selected in selection box | |
e.g.: | |
http://www.bioone.org/doi/full/10.1896/978-1-934151-07-5.73 | |
Journal TOC: | |
http://www.bioone.org/toc/arac/37/1 | |
http://www.bioone.org/toc/eden/current | |
Book chapters: | |
http://www.bioone.org/action/showBook?doi=10.1896%2F978-1-934151-07-5 | |
Journal article: | |
http://www.bioone.org/doi/abs/10.1653/024.092.0101 | |
http://www.bioone.org/doi/full/10.1653/024.092.0101 | |
http://www.bioone.org/doi/pdf/10.1653/024.092.0101 | |
Book chapter: | |
Abstract: http://www.bioone.org/doi/abs/10.1896/978-1-934151-07-5.3 | |
Full-text: http://www.bioone.org/doi/full/10.1896/978-1-934151-07-5.3 | |
PDF: http://www.bioone.org/doi/pdf/10.1896/978-1-934151-07-5.4 | |
http://www.bioone.org/doi/abs/10.1199/tab.0120 | |
*/', | |
'function doWeb(doc, url) { | |
var namespace = doc.documentElement.namespaceURI; | |
var nsResolver = namespace ? function(prefix) { | |
if (prefix == ''x'') return namespace; else return null; | |
} : null; | |
var DOIs = new Array(); | |
var RIS = new Array(); | |
var items = new Array(); | |
if (detectWeb(doc, url) == "multiple") { | |
var entryDOIs = doc.evaluate(''//input[@name="doi"]'', doc, nsResolver, XPathResult.ANY_TYPE, null); | |
var entryTitles = doc.evaluate(''//h4[@class="searchTitle"]'', doc, nsResolver, XPathResult.ANY_TYPE, null); | |
var counter = doc.evaluate(''count (//input[@name="doi"])'', doc, nsResolver, XPathResult.ANY_TYPE, null); | |
var items = new Array(); | |
for (var i = 0; i < counter.numberValue; i++) { | |
items[entryDOIs.iterateNext().value] = entryTitles.iterateNext().textContent; | |
} | |
items = Zotero.selectItems(items); | |
for (var doi in items) { | |
DOIs.push(doi); | |
} | |
} else { | |
var doi = url.match(/10\.[^\b]+/)[0]; | |
DOIs.push(doi); | |
} | |
for (var i in DOIs) { | |
RIS.push("http://www.bioone.org/action/downloadCitation?format=Refman&doi=" + DOIs[i]); | |
} | |
Zotero.Utilities.HTTP.doGet(RIS, function(text) { | |
var doi = DOIs.shift(); | |
var pdfURL = "http://www.bioone.org/doi/pdf/" + doi; | |
var translator = Zotero.loadTranslator("import"); | |
translator.setTranslator("32d59d2d-b65a-4da4-b0a3-bdd3cfb979e7"); | |
translator.setString(text); | |
translator.setHandler("itemDone", function(obj, item) { | |
item.notes = null; | |
//item.attachments = [{url:"http://www.bioone.org/doi/pdf/10.1653/024.092.0101", title:"BioOne Full Text PDF", mimeType:"application/pdf"}]; | |
item.DOI = doi; | |
item.complete(); | |
}); | |
translator.translate(); | |
}, function() {Zotero.done();}); | |
Zotero.wait(); | |
}'); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment