165 lines
4.5 KiB
JavaScript
165 lines
4.5 KiB
JavaScript
{
|
|
"translatorID": "f318ab1e-71c6-4f67-8ac3-4b1144e5bf4e",
|
|
"label": "APS-Physics",
|
|
"creator": "Will Shanks",
|
|
"target": "^https?://(www\\.)?(physics)\\.aps\\.org([^/]*/(articles|story)/?|/browse(\\?|$))",
|
|
"minVersion": "2.1.9",
|
|
"maxVersion": "",
|
|
"priority": 100,
|
|
"inRepository": true,
|
|
"translatorType": 4,
|
|
"browserSupport": "gcsibv",
|
|
"lastUpdated": "2013-12-06 17:44:20"
|
|
}
|
|
|
|
// Works for APS Physics Viewpoints and Focus articles: http://physics.aps.org/
|
|
|
|
function detectWeb(doc, url) {
|
|
if (url.indexOf("/browse")!=-1) return "multiple";
|
|
else return "journalArticle";
|
|
}
|
|
|
|
function doWeb(doc, url) {
|
|
if (detectWeb(doc, url)=="multiple"){
|
|
var items = {};
|
|
var articles = [];
|
|
var links = ZU.xpath(doc, '//div[@class="result-title"]/h2/a[contains(@href, "/story/") or contains(@href, "/articles/")]')
|
|
for (var i in links){
|
|
items[ZU.xpathText(links[i], './@href')] = ZU.xpathText(links[i], './text()')
|
|
}
|
|
Zotero.selectItems(items, function (items) {
|
|
if (!items) {
|
|
return true;
|
|
}
|
|
for (var itemurl in items) {
|
|
articles.push(itemurl);
|
|
}
|
|
ZU.processDocuments(articles, scrape)
|
|
});
|
|
}
|
|
else scrape(doc, url);
|
|
|
|
}
|
|
|
|
function scrape(doc, url){
|
|
Zotero.debug(doc.title);
|
|
|
|
//Get abstract (called 'byline' on page)
|
|
var abs = ZU.xpathText(doc, '//article/header/p[contains(@class, "byline")]');
|
|
|
|
//Check if page is a Viewpoint. Only Viewpoints have PDFs
|
|
var title = ZU.xpathText(doc, '//article/header/h1[contains(@class, "title")]');
|
|
var hasPDF = (title.indexOf('Viewpoint:') != -1);
|
|
|
|
//Get DOI
|
|
var doi = ZU.xpathText(doc, '//article/header/div[contains(@class, "pubinfo")]/text()');
|
|
doi = doi.match(/10\.[^\s]+/)[0]
|
|
|
|
//Set up urls
|
|
var pdfurl = 'http://physics.aps.org/articles/pdf/' + doi;
|
|
var urlRIS = 'http://physics.aps.org/articles/export/' + doi + '/ris';
|
|
|
|
Zotero.Utilities.HTTP.doGet(urlRIS, function(text) {
|
|
//DOI is stored in ID field. Fix it.
|
|
text = text.replace(/^ID\s\s?-\s/mg, 'DO - ');
|
|
// 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) {
|
|
item.attachments = [
|
|
{document:doc, title:"APS Snapshot"}];
|
|
if (hasPDF) {
|
|
item.attachments.push({url:pdfurl, title:"APS Full Text PDF", mimeType:"application/pdf"});
|
|
}
|
|
|
|
if (abs) item.abstractNote = abs;
|
|
item.complete();
|
|
});
|
|
translator.translate();
|
|
});
|
|
}/** BEGIN TEST CASES **/
|
|
var testCases = [
|
|
{
|
|
"type": "web",
|
|
"url": "http://physics.aps.org/articles/v5/100",
|
|
"items": [
|
|
{
|
|
"itemType": "journalArticle",
|
|
"creators": [
|
|
{
|
|
"lastName": "de Beer",
|
|
"firstName": "Sissi",
|
|
"creatorType": "author"
|
|
},
|
|
{
|
|
"lastName": "Müser",
|
|
"firstName": "Martin H.",
|
|
"creatorType": "author"
|
|
}
|
|
],
|
|
"notes": [],
|
|
"tags": [],
|
|
"seeAlso": [],
|
|
"attachments": [
|
|
{
|
|
"title": "APS Snapshot"
|
|
},
|
|
{
|
|
"title": "APS Full Text PDF",
|
|
"mimeType": "application/pdf"
|
|
}
|
|
],
|
|
"publisher": "American Physical Society",
|
|
"DOI": "10.1103/Physics.5.100",
|
|
"title": "Surface Folds Make Tears and Chips",
|
|
"publicationTitle": "Physics",
|
|
"journalAbbreviation": "Physics",
|
|
"volume": "5",
|
|
"pages": "100",
|
|
"date": "September 4, 2012",
|
|
"url": "http://link.aps.org/doi/10.1103/Physics.5.100",
|
|
"abstractNote": "Fluidlike folding instabilities of solid surfaces complicate the machining of metals to perfection",
|
|
"libraryCatalog": "APS-Physics",
|
|
"accessDate": "CURRENT_TIMESTAMP"
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"type": "web",
|
|
"url": "http://physics.aps.org/articles/v5/101",
|
|
"items": [
|
|
{
|
|
"itemType": "journalArticle",
|
|
"creators": [
|
|
{
|
|
"lastName": "Schirber",
|
|
"firstName": "Michael",
|
|
"creatorType": "author"
|
|
}
|
|
],
|
|
"notes": [],
|
|
"tags": [],
|
|
"seeAlso": [],
|
|
"attachments": [
|
|
{
|
|
"title": "APS Snapshot"
|
|
}
|
|
],
|
|
"publisher": "American Physical Society",
|
|
"DOI": "10.1103/Physics.5.101",
|
|
"title": "Measuring the Smallest Trickle",
|
|
"publicationTitle": "Physics",
|
|
"journalAbbreviation": "Physics",
|
|
"volume": "5",
|
|
"pages": "101",
|
|
"date": "September 10, 2012",
|
|
"url": "http://link.aps.org/doi/10.1103/Physics.5.101",
|
|
"abstractNote": "Researchers used a nanoscale tunnel in a silicon chip to measure a flow rate of a few picoliters per minute, which is smaller than any previous observation.",
|
|
"libraryCatalog": "APS-Physics",
|
|
"accessDate": "CURRENT_TIMESTAMP"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
/** END TEST CASES **/ |