@@ -1,15 +1,15 @@
{
" translatorID" : " a823550b-6475-4b20-8539-a3c416906228" ,
" label" : " Notre Dame Philosophical Reviews" ,
" creator" : " Emiliano Heyns" ,
" target" : " ^https?://ndpr\\ .nd\\ .edu/" ,
" minVersion" : " 2.1" ,
" maxVersion" : " " ,
" priority" : 100 ,
" inRepository" : true ,
" translatorType" : 4 ,
" browserSupport" : " gcsibv" ,
" lastUpdated" : " 2016-01-04 21:04:49"
" translatorID" : " a823550b-6475-4b20-8539-a3c416906228" ,
" label" : " Notre Dame Philosophical Reviews" ,
" creator" : " Emiliano Heyns" ,
" target" : " ^https?://ndpr\\ .nd\\ .edu/" ,
" minVersion" : " 2.1" ,
" maxVersion" : " " ,
" priority" : 100 ,
" inRepository" : true ,
" translatorType" : 4 ,
" browserSupport" : " gcsibv" ,
" lastUpdated" : " 2016-01-04 21:04:49"
}
// Generated by CoffeeScript 1.10.0
@@ -34,188 +34,188 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
var detectWeb, doWeb, scrape, testCases;
detectWeb = function (doc , url ) {
if (url .indexOf (' ://ndpr.nd.edu/news' ) > 0 ) {
return ' journalArticle' ;
}
if (url .indexOf (' ://ndpr.nd.edu/recent-reviews' ) > 0 ) {
return ' multiple' ;
}
if (url .indexOf (' ://ndpr.nd.edu/search' ) > 0 ) {
return ' multiple' ;
}
return null ;
if (url .indexOf (' ://ndpr.nd.edu/news' ) > 0 ) {
return ' journalArticle' ;
}
if (url .indexOf (' ://ndpr.nd.edu/recent-reviews' ) > 0 ) {
return ' multiple' ;
}
if (url .indexOf (' ://ndpr.nd.edu/search' ) > 0 ) {
return ' multiple' ;
}
return null ;
};
scrape = function (doc , url ) {
var author, bibliography, date, index, item, m, reviewedby, reviewer, title;
item = new Zotero.Item (' journalArticle' );
item .publication = ' Notre Dame Philosophical Reviews' ;
item .ISSN = ' 1538-1617' ;
item .url = doc .location .href ;
date = doc .getElementsByClassName (' pubdate' )[0 ];
if (date) {
item .date = date .getAttribute (' datetime' ) || ' ' ;
item .date = item .date .replace (/ T. * / , ' ' );
if (m = item .date .match (/ ^ ([0-9 ] {4} )([0-9 ] {2} )([0-9 ] {2} )$ / )) {
item .date = m[1 ] + " -" + m[2 ] + " -" + m[3 ];
}
}
title = doc .getElementsByClassName (' entry-title' )[0 ];
if (title) {
title = title .textContent ;
item .title = " Review of <i>" + title + " </i>" ;
var author, bibliography, date, index, item, m, reviewedby, reviewer, title;
item = new Zotero.Item (' journalArticle' );
item .publication = ' Notre Dame Philosophical Reviews' ;
item .ISSN = ' 1538-1617' ;
item .url = doc .location .href ;
date = doc .getElementsByClassName (' pubdate' )[0 ];
if (date) {
item .date = date .getAttribute (' datetime' ) || ' ' ;
item .date = item .date .replace (/ T. * / , ' ' );
if (m = item .date .match (/ ^ ([0-9 ] {4} )([0-9 ] {2} )([0-9 ] {2} )$ / )) {
item .date = m[1 ] + " -" + m[2 ] + " -" + m[3 ];
}
}
title = doc .getElementsByClassName (' entry-title' )[0 ];
if (title) {
title = title .textContent ;
item .title = " Review of <i>" + title + " </i>" ;
/* shorten to before first colon */
index = title .indexOf (' :' );
if (index >= 0 ) {
title = title .substr (0 , index);
}
/* shorten to before first colon */
index = title .indexOf (' :' );
if (index >= 0 ) {
title = title .substr (0 , index);
}
/* shorten to after first question mark */
index = title .indexOf (' ?' );
if (index >= 0 ) {
index++ ;
if (index !== title .length ) {
title = title .substr (0 , index);
}
}
title = " Review of <i>" + title + " </i>" ;
if (title !== item .title ) {
item .shortTitle = title;
}
}
author = doc .getElementsByClassName (' author' )[0 ];
if (author) {
item .creators .push (Zotero .Utilities .cleanAuthor (author .textContent , ' reviewedAuthor' ));
}
reviewer = doc .getElementsByClassName (' reviewers' )[0 ];
if (reviewer) {
reviewedby = doc .getElementsByClassName (' reviewed-by' )[0 ];
if (reviewedby) {
reviewer .removeChild (reviewedby);
}
reviewer = reviewer .textContent .replace (/ ,. * / , ' ' ).trim ();
item .creators .push (Zotero .Utilities .cleanAuthor (reviewer, ' author' ));
}
bibliography = doc .getElementsByClassName (' bibliography' )[0 ];
if (bibliography) {
item .notes .push ({
note: " <h1>Bibliography</h1>" + bibliography .innerHTML
});
}
item .attachments .push ({
document : doc,
title: " NDPR Full Text Snapshot"
});
return item .complete ();
/* shorten to after first question mark */
index = title .indexOf (' ?' );
if (index >= 0 ) {
index++ ;
if (index !== title .length ) {
title = title .substr (0 , index);
}
}
title = " Review of <i>" + title + " </i>" ;
if (title !== item .title ) {
item .shortTitle = title;
}
}
author = doc .getElementsByClassName (' author' )[0 ];
if (author) {
item .creators .push (Zotero .Utilities .cleanAuthor (author .textContent , ' reviewedAuthor' ));
}
reviewer = doc .getElementsByClassName (' reviewers' )[0 ];
if (reviewer) {
reviewedby = doc .getElementsByClassName (' reviewed-by' )[0 ];
if (reviewedby) {
reviewer .removeChild (reviewedby);
}
reviewer = reviewer .textContent .replace (/ ,. * / , ' ' ).trim ();
item .creators .push (Zotero .Utilities .cleanAuthor (reviewer, ' author' ));
}
bibliography = doc .getElementsByClassName (' bibliography' )[0 ];
if (bibliography) {
item .notes .push ({
note: " <h1>Bibliography</h1>" + bibliography .innerHTML
});
}
item .attachments .push ({
document : doc,
title: " NDPR Full Text Snapshot"
});
return item .complete ();
};
doWeb = function (doc , url ) {
var i, items, j, len, len1, link, ref, ref1;
if (detectWeb (doc, url) !== ' multiple' ) {
return scrape (doc, url);
}
items = {};
ref = doc .querySelectorAll (' h1.entry-title a' );
for (i = 0 , len = ref .length ; i < len; i++ ) {
link = ref[i];
items[link .getAttribute (' href' )] = link .textContent ;
}
ref1 = doc .querySelectorAll (' div.search-record h3 a' );
for (j = 0 , len1 = ref1 .length ; j < len1; j++ ) {
link = ref1[j];
items[link .getAttribute (' href' )] = link .textContent .replace (/ \/\/ . * / , ' ' );
}
return Zotero .selectItems (items, function (items ) {
var articles;
if (! items) {
return true ;
}
articles = Object .keys (items);
ZU .processDocuments (articles, scrape);
});
var i, items, j, len, len1, link, ref, ref1;
if (detectWeb (doc, url) !== ' multiple' ) {
return scrape (doc, url);
}
items = {};
ref = doc .querySelectorAll (' h1.entry-title a' );
for (i = 0 , len = ref .length ; i < len; i++ ) {
link = ref[i];
items[link .getAttribute (' href' )] = link .textContent ;
}
ref1 = doc .querySelectorAll (' div.search-record h3 a' );
for (j = 0 , len1 = ref1 .length ; j < len1; j++ ) {
link = ref1[j];
items[link .getAttribute (' href' )] = link .textContent .replace (/ \/\/ . * / , ' ' );
}
return Zotero .selectItems (items, function (items ) {
var articles;
if (! items) {
return true ;
}
articles = Object .keys (items);
ZU .processDocuments (articles, scrape);
});
};
/** BEGIN TEST CASES **/
var testCases = [
{
" type" : " web" ,
" url" : " https://ndpr.nd.edu/news/24395-pleasure-and-the-good-life-concerning-the-nature-varieties-and-plausibility-of-hedonism/" ,
" items" : [
{
" itemType" : " journalArticle" ,
" title" : " Review of <i>Pleasure and the Good Life: Concerning the Nature, Varieties, and Plausibility of Hedonism</i>" ,
" creators" : [
{
" firstName" : " Fred" ,
" lastName" : " Feldman" ,
" creatorType" : " reviewedAuthor"
}, {
" firstName" : " Leonard D." ,
" lastName" : " Katz" ,
" creatorType" : " author"
}
],
" date" : " 2005-03-02" ,
" ISSN" : " 1538-1617" ,
" libraryCatalog" : " Notre Dame Philosophical Reviews" ,
" shortTitle" : " Review of <i>Pleasure and the Good Life</i>" ,
" url" : " https://ndpr.nd.edu/news/24395-pleasure-and-the-good-life-concerning-the-nature-varieties-and-plausibility-of-hedonism/" ,
" attachments" : [
{
" title" : " NDPR Full Text Snapshot"
}
],
" tags" : [],
" notes" : [
{
" note" : " <h1>Bibliography</h1><p>Feldman, Fred, <em>Pleasure and the Good Life: Concerning the Nature, Varieties, and Plausibility of Hedonism</em>, Oxford University Press, 2004, 221pp, $35.00 (hbk), ISBN 019926516X.</p>"
}
],
" seeAlso" : []
}
]
}, {
" type" : " web" ,
" url" : " https://ndpr.nd.edu/news/63254-locke-s-touchy-subjects-materialism-and-immortality/" ,
" items" : [
{
" itemType" : " journalArticle" ,
" title" : " Review of <i>Locke's Touchy Subjects: Materialism and Immortality</i>" ,
" creators" : [
{
" firstName" : " Nicholas" ,
" lastName" : " Jolley" ,
" creatorType" : " reviewedAuthor"
}, {
" firstName" : " Shelley" ,
" lastName" : " Weinberg" ,
" creatorType" : " author"
}
],
" date" : " 2015-12-17" ,
" ISSN" : " 1538-1617" ,
" libraryCatalog" : " Notre Dame Philosophical Reviews" ,
" shortTitle" : " Review of <i>Locke's Touchy Subjects</i>" ,
" url" : " https://ndpr.nd.edu/news/63254-locke-s-touchy-subjects-materialism-and-immortality/" ,
" attachments" : [
{
" title" : " NDPR Full Text Snapshot"
}
],
" tags" : [],
" notes" : [
{
" note" : " <h1>Bibliography</h1><p>Nicholas Jolley, <em>Locke's Touchy Subjects: Materialism and Immortality</em>, Oxford University Press, 2015, 142pp., $50.00 (hbk), ISBN 9780198737094.</p>"
}
],
" seeAlso" : []
}
]
}
]
{
" type" : " web" ,
" url" : " https://ndpr.nd.edu/news/24395-pleasure-and-the-good-life-concerning-the-nature-varieties-and-plausibility-of-hedonism/" ,
" items" : [
{
" itemType" : " journalArticle" ,
" title" : " Review of <i>Pleasure and the Good Life: Concerning the Nature, Varieties, and Plausibility of Hedonism</i>" ,
" creators" : [
{
" firstName" : " Fred" ,
" lastName" : " Feldman" ,
" creatorType" : " reviewedAuthor"
}, {
" firstName" : " Leonard D." ,
" lastName" : " Katz" ,
" creatorType" : " author"
}
],
" date" : " 2005-03-02" ,
" ISSN" : " 1538-1617" ,
" libraryCatalog" : " Notre Dame Philosophical Reviews" ,
" shortTitle" : " Review of <i>Pleasure and the Good Life</i>" ,
" url" : " https://ndpr.nd.edu/news/24395-pleasure-and-the-good-life-concerning-the-nature-varieties-and-plausibility-of-hedonism/" ,
" attachments" : [
{
" title" : " NDPR Full Text Snapshot"
}
],
" tags" : [],
" notes" : [
{
" note" : " <h1>Bibliography</h1><p>Feldman, Fred, <em>Pleasure and the Good Life: Concerning the Nature, Varieties, and Plausibility of Hedonism</em>, Oxford University Press, 2004, 221pp, $35.00 (hbk), ISBN 019926516X.</p>"
}
],
" seeAlso" : []
}
]
}, {
" type" : " web" ,
" url" : " https://ndpr.nd.edu/news/63254-locke-s-touchy-subjects-materialism-and-immortality/" ,
" items" : [
{
" itemType" : " journalArticle" ,
" title" : " Review of <i>Locke's Touchy Subjects: Materialism and Immortality</i>" ,
" creators" : [
{
" firstName" : " Nicholas" ,
" lastName" : " Jolley" ,
" creatorType" : " reviewedAuthor"
}, {
" firstName" : " Shelley" ,
" lastName" : " Weinberg" ,
" creatorType" : " author"
}
],
" date" : " 2015-12-17" ,
" ISSN" : " 1538-1617" ,
" libraryCatalog" : " Notre Dame Philosophical Reviews" ,
" shortTitle" : " Review of <i>Locke's Touchy Subjects</i>" ,
" url" : " https://ndpr.nd.edu/news/63254-locke-s-touchy-subjects-materialism-and-immortality/" ,
" attachments" : [
{
" title" : " NDPR Full Text Snapshot"
}
],
" tags" : [],
" notes" : [
{
" note" : " <h1>Bibliography</h1><p>Nicholas Jolley, <em>Locke's Touchy Subjects: Materialism and Immortality</em>, Oxford University Press, 2015, 142pp., $50.00 (hbk), ISBN 9780198737094.</p>"
}
],
" seeAlso" : []
}
]
}
];
/** END TEST CASES **/
0 comments on commit
32892f6