From 399c9e48db0e08741212f2ea9764a7299237f1d9 Mon Sep 17 00:00:00 2001 From: Michael Berkowitz Date: Mon, 21 Apr 2008 21:01:11 +0000 Subject: [PATCH] -Adds GSA journals translator. --- scrapers.sql | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/scrapers.sql b/scrapers.sql index 51ea745a6..ce0c9f78b 100644 --- a/scrapers.sql +++ b/scrapers.sql @@ -22,7 +22,7 @@ -- Set the following timestamp to the most recent scraper update date -REPLACE INTO version VALUES ('repository', STRFTIME('%s', '2008-04-21 18:30:00')); +REPLACE INTO version VALUES ('repository', STRFTIME('%s', '2008-04-21 21:30:00')); REPLACE INTO translators VALUES ('96b9f483-c44d-5784-cdad-ce21b984fe01', '1.0.0b4.r1', '', '2008-03-21 20:00:00', '1', '100', '4', 'Amazon.com', 'Sean Takats and Michael Berkowitz', '^https?://(?:www\.)?amazon', 'function detectWeb(doc, url) { @@ -1087,6 +1087,54 @@ REPLACE INTO translators VALUES ('88915634-1af6-c134-0171-56fd198235ed', '1.0.0b Zotero.wait(); }'); +REPLACE INTO translators VALUES ('70295509-4c29-460f-81a3-16d4ddbb93f6', '1.0.0b4.r5', '', '2008-04-21 21:30:00', '0', '100', '4', 'GSA Journals Online', 'Michael Berkowitz', 'http://www.gsajournals.org/', +'function detectWeb(doc, url) { + if (url.indexOf("request=search") != -1 || url.indexOf("request=get-toc") != -1) { + return "multiple"; + } else if (url.indexOf("request=get-abstract") != -1 || url.indexOf("request=get-document") != -1) { + return "journalArticle"; + } +}', +'function doWeb(doc, url) { + var arts = new Array(); + if (detectWeb(doc, url) == "multiple") { + var items = new Object(); + var results = doc.evaluate(''//*[@class="group"]'', doc, null, XPathResult.ANY_TYPE, null); + var next; + while (next = results.iterateNext()) { + var title = Zotero.Utilities.trimInternal(doc.evaluate(''.//*[@class="title"]'', next, null, XPathResult.ANY_TYPE, null).iterateNext().textContent); + var link = doc.evaluate(''.//a[1]'', next, null, XPathResult.ANY_TYPE, null).iterateNext().href; + items[link] = title; + } + items = Zotero.selectItems(items); + for (var i in items) { + arts.push(i.replace(/get\-(abstract|document)/, "cite-builder")); + } + } else { + arts = [url.replace(/get\-(abstract|document)/, "cite-builder")]; + } + Zotero.Utilities.processDocuments(arts, function(doc) { + var newurl = doc.evaluate(''//a[contains(@href, "refman")]'', doc, null, XPathResult.ANY_TYPE, null).iterateNext().href; + var oldurl = doc.location.href; + Zotero.Utilities.HTTP.doGet(newurl, function(text) { + var translator = Zotero.loadTranslator("import"); + translator.setTranslator("32d59d2d-b65a-4da4-b0a3-bdd3cfb979e7"); + translator.setString(text); + translator.setHandler("itemDone", function(obj, item) { + item.url = oldurl; + item.DOI = decodeURIComponent(item.url.match(/doi=([^&]+)/)[1]); + var pdfurl = ''http://www.gsajournals.org/perlserv/?request=res-loc&uri=urn:ap:pdf:doi:'' + item.DOI; + item.attachments = [ + {url:item.url, title:"GSA Snapshot", mimeType:"text/html"}, + {url:pdfurl, title:"GSA Full Text PDF", mimeType:"application/pdf"} + ]; + item.complete(); + }); + translator.translate(); + }); + }, function() {Zotero.done;}); +}'); + REPLACE INTO translators VALUES ('9d822257-2eec-4674-b6d0-2504f54c8890', '1.0.0b4.r5', '', '2008-04-18 08:55:00', '0', '100', '4', 'African Journals Online', 'Michael Berkowitz', 'http://www.ajol.info', 'function detectWeb(doc, url) { if (url.match(/viewarticle.php/)) {