commit e94c041c0da9918dbfa0c590e9656ae8b9fc25db
parent ee57f38e491401bae04b6a3c582b70a2523ce8cb
Author: Dan Stillman <dstillman@zotero.org>
Date: Thu, 4 Feb 2010 02:12:41 +0000
- Moved PROLA to APS with Paul Dlug's changes
- Pushed EBSCO, APS, MARC
Diffstat:
4 files changed, 67 insertions(+), 69 deletions(-)
diff --git a/translators/APS.js b/translators/APS.js
@@ -0,0 +1,64 @@
+{
+ "translatorID":"2c310a37-a4dd-48d2-82c9-bd29c53c1c76",
+ "translatorType":4,
+ "label":"APS","creator":"Eugeniy Mikhailov and Michael Berkowitz",
+ "target":"https?://(?:www\\.)?(prola|prl|pra|prb|prc|prd|pre|prst-ab|prst-per|rmp)\\.aps\\.org[^/]*/(toc|abstract|forward|showrefs|supplemental)/",
+ "minVersion":"1.0.0b3.r1",
+ "maxVersion":null,
+ "priority":100,
+ "inRepository":true,
+ "lastUpdated":"2010-02-04 02:10:00"
+}
+// Works for all APS journals: http://publish.aps.org/
+
+function detectWeb(doc, url) {
+ // toc indicates table of contents, forward is a "Citing articles" page
+ if (/\/toc\//.test(url) || (/\/forward\//.test(url))){
+ return "multiple";
+ } else {
+ return "journalArticle";
+ }
+}
+
+function doWeb(doc, url) {
+ var arts = new Array();
+ if (detectWeb(doc, url) == "multiple") {
+ var items = Zotero.Utilities.getItemArray(doc, doc, "abstract");
+ items = Zotero.selectItems(items);
+ for (var i in items) {
+ arts.push(i);
+ }
+ } else {
+ arts = [url];
+ }
+
+ Zotero.Utilities.processDocuments(arts, function(newDoc) {
+ Zotero.debug(newDoc.title);
+ // Use abstract only if we have one
+ if (newDoc.evaluate('//div[contains(@class, "aps-abstractbox")]/p', newDoc, null, XPathResult.ANY_TYPE, null).iterateNext()) var abs = Zotero.Utilities.trimInternal(newDoc.evaluate('//div[contains(@class, "aps-abstractbox")]/p', newDoc, null, XPathResult.ANY_TYPE, null).iterateNext().textContent);
+ var urlRIS = newDoc.location.href;
+ urlRIS = urlRIS.replace(/(abstract|forward|showrefs|supplemental)/,"export");
+ var post = "type=ris";
+ var snapurl = newDoc.location.href;
+ var pdfurl = snapurl.replace(/(abstract|forward|showrefs|supplemental)/, "pdf");
+ Zotero.Utilities.HTTP.doPost(urlRIS, post, function(text) {
+ // load translator for RIS
+ var translator = Zotero.loadTranslator("import");
+ translator.setTranslator("32d59d2d-b65a-4da4-b0a3-bdd3cfb979e7");
+ translator.setString(text);
+ translator.setHandler("itemDone", function(obj, item) {
+ if (item.itemID) {
+ item.DOI = item.itemID;
+ }
+ item.attachments = [
+ {url:snapurl, title:"APS Snapshot", mimeType:"text/html"},
+ {url:pdfurl, title:"APS Full Text PDF", mimeType:"application/pdf"}
+ ];
+ if (abs) item.abstractNote = abs;
+ item.complete();
+ });
+ translator.translate();
+ }, null, 'UTF-8');
+ }, function() {Zotero.done();});
+ Zotero.wait();
+}
+\ No newline at end of file
diff --git a/translators/EBSCOhost.js b/translators/EBSCOhost.js
@@ -8,7 +8,7 @@
"maxVersion":"",
"priority":100,
"inRepository":true,
- "lastUpdated":"2010-01-30 00:00:00"
+ "lastUpdated":"2010-02-04 02:00:00"
}
function detectWeb(doc, url) {
diff --git a/translators/MARC.js b/translators/MARC.js
@@ -8,7 +8,7 @@
"maxVersion":"",
"priority":100,
"inRepository":true,
- "lastUpdated":"2010-01-27 11:50:00"
+ "lastUpdated":"2010-02-04 02:00:00"
}
function detectImport() {
diff --git a/translators/PROLA.js b/translators/PROLA.js
@@ -1,66 +0,0 @@
-{
- "translatorID":"2c310a37-a4dd-48d2-82c9-bd29c53c1c76",
- "translatorType":4,
- "label":"PROLA","creator":"Eugeniy Mikhailov and Michael Berkowitz",
- "target":"https?://(?:www\\.)?(prola|prl|prb|rmp|pra|prc|prd|pre|prst-ab|prst-per|)\\.aps\\.org[^/]*/(toc|forward|searchabstract|abstract)/",
- "minVersion":"1.0.0b3.r1",
- "maxVersion":null,
- "priority":100,
- "inRepository":true,
- "lastUpdated":"2010-01-23 23:15:00"
-}
-// Works for most journals at http://prola.aps.org/browse.html
-
-function detectWeb(doc, url) {
- // toc indicates table of contents, forward is a "Citing articles" page
- if (/\/toc\//.test(url) || (/\/forward\//.test(url))){
- return "multiple";
- } else {
- return "journalArticle";
- }
-}
-
-function doWeb(doc, url) {
- var arts = new Array();
- if (detectWeb(doc, url) == "multiple") {
- var items = Zotero.Utilities.getItemArray(doc, doc, "(abstract|abstractsearch)");
- items = Zotero.selectItems(items);
- for (var i in items) {
- arts.push(i);
- }
- } else {
- arts = [url];
- }
-
- Zotero.Utilities.processDocuments(arts, function(newDoc) {
- Zotero.debug(newDoc.title);
- // Use abstract only if we have one
- if (newDoc.evaluate('//div[contains(@class, "aps-abstractbox")]/p', newDoc, null, XPathResult.ANY_TYPE, null).iterateNext()) var abs = Zotero.Utilities.trimInternal(newDoc.evaluate('//div[contains(@class, "aps-abstractbox")]/p', newDoc, null, XPathResult.ANY_TYPE, null).iterateNext().textContent);
- var urlRIS = newDoc.location.href;
- // so far several more or less identical url possible
- // one is with "abstract" other with "searchabstract"
- urlRIS = urlRIS.replace(/(searchabstract|abstract)/,"export");
- var post = "type=ris";
- var snapurl = newDoc.location.href;
- var pdfurl = snapurl.replace(/(searchabstract|abstract)/, "pdf");
- Zotero.Utilities.HTTP.doPost(urlRIS, post, function(text) {
- // load translator for RIS
- var translator = Zotero.loadTranslator("import");
- translator.setTranslator("32d59d2d-b65a-4da4-b0a3-bdd3cfb979e7");
- translator.setString(text);
- translator.setHandler("itemDone", function(obj, item) {
- if (item.itemID) {
- item.DOI = item.itemID;
- }
- item.attachments = [
- {url:snapurl, title:"PROLA Snapshot", mimeType:"text/html"},
- {url:pdfurl, title:"PROLA Full Text PDF", mimeType:"application/pdf"}
- ];
- if (abs) item.abstractNote = abs;
- item.complete();
- });
- translator.translate();
- }, null, 'latin1');
- }, function() {Zotero.done();});
- Zotero.wait();
-}
-\ No newline at end of file