zotero/translators/Verniana-Jules Verne Studie...

191 lines
5.8 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"translatorID": "cdf8269c-86b9-4039-9bc4-9d998c67740e",
"label": "Verniana-Jules Verne Studies",
"creator": "Aurimas Vinckevicius, Emiliano Heyns",
"target": "^https?://[^/]*verniana\\.org(:\\d+)?/volumes/\\d+/",
"minVersion": "2.1.9",
"maxVersion": "",
"priority": 100,
"inRepository": true,
"translatorType": 4,
"browserSupport": "gcsibv",
"lastUpdated": "2019-06-17 13:39:01"
}
/**
Copyright (c) 2012-2019 Aurimas Vinckevicius, Emiliano Heyns
This program is free software: you can redistribute it and/or
modify it under the terms of the GNU Affero General Public License
as published by the Free Software Foundation, either version 3 of
the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public
License along with this program. If not, see
<http://www.gnu.org/licenses/>.
*/
// eslint-disable-next-line
function attr(docOrElem,selector,attr,index){var elem=index?docOrElem.querySelectorAll(selector).item(index):docOrElem.querySelector(selector);return elem?elem.getAttribute(attr):null;}function text(docOrElem,selector,index){var elem=index?docOrElem.querySelectorAll(selector).item(index):docOrElem.querySelector(selector);return elem?elem.textContent:null;}
function detectWeb(doc, _url) {
if (doc.querySelector('ul.volume_toc li')) return 'multiple';
if (doc.querySelector('.ref_on_top')) return 'journalArticle';
return false;
}
function returnMatch(t, r) {
let m = t.match(r);
return m ? m[1] : '';
}
function scrape(doc, url) {
let item = new Zotero.Item('journalArticle');
item.url = url;
item.title = ZU.capitalizeTitle(ZU.trimInternal(text(doc, '#content h1') || ''));
item.creators = (text(doc, 'div#content p.author a') || text(doc, 'div#content p.author')).split(' et ').map(author => ZU.cleanAuthor(author.trim(), 'author'));
item.abstractNote = text(doc, 'p.abstract');
let refOnTop = (text(doc, 'div.ref_on_top') || '').trim();
item.volume = returnMatch(refOnTop, /volume (\d+)/i);
item.pages = returnMatch(refOnTop, /(\d+(?:\d+)?)$/);
item.ISSN = '1565-8872';
item.attachments = [];
let m = url.match(/^(https?:\/\/www\.verniana\.org\/volumes\/[0-9]+\/)[^/]+(\/[^.]+)\.html$/);
if (m) {
item.attachments = [
{
url: m[1] + 'A4' + m[2] + '.pdf',
title: 'Full text PDF',
mimeType: 'application/pdf'
},
{
url: m[1] + 'HTML' + m[2] + '.html',
title: 'Snapshot',
mimeType: 'text/html'
},
];
}
item.complete();
}
function doWeb(doc, url) {
if (detectWeb(doc, url) === 'multiple') {
let items = {};
for (let item of doc.querySelectorAll('ul.volume_toc li')) {
let title = text(item, '.title');
if (!title) continue;
let a = Array.from(item.querySelectorAll('a')).find(a => a.textContent === 'HTML');
if (!a) continue;
let href = a.getAttribute('href');
if (href) items[href] = title;
}
Zotero.selectItems(items, function (items) {
ZU.processDocuments(Object.keys(items), scrape);
});
}
else {
scrape(doc, url);
}
}
/** BEGIN TEST CASES **/
var testCases = [
{
"type": "web",
"url": "http://www.verniana.org/volumes/04/index.en.html",
"items": "multiple"
},
{
"type": "web",
"url": "http://www.verniana.org/volumes/07/Resumes/AlcideMorgaz.html",
"items": [
{
"itemType": "journalArticle",
"title": "Alcide Poitrineux et Simon Morgaz: deux mises au point sur Jules Verne et le théâtre",
"creators": [
{
"firstName": "Stefan",
"lastName": "Schmidt",
"creatorType": "author"
},
{
"firstName": "Volker",
"lastName": "Dehs",
"creatorType": "author"
}
],
"ISSN": "1565-8872",
"abstractNote": "Jules Verne a collaboré en 1883 à une pièce qui ne fut jamais jouée, Les Erreurs d'Alcide. De récentes découvertes apportent plus de\nprécisions sur cette collaboration. Dans Famille-sans-nom, le nom de famille des héros est Morgaz. Quelques années après la parution du roman, une pièce\nintitulée Simon Morgaz fut jouée en 1896.",
"libraryCatalog": "Verniana-Jules Verne Studies",
"pages": "97104",
"url": "http://www.verniana.org/volumes/07/Resumes/AlcideMorgaz.html",
"volume": "7",
"shortTitle": "Alcide Poitrineux et Simon Morgaz",
"attachments": [
{
"title": "Full text PDF",
"mimeType": "application/pdf"
},
{
"title": "Snapshot",
"mimeType": "text/html"
}
],
"tags": [],
"notes": [],
"seeAlso": []
}
]
},
{
"type": "web",
"url": "http://www.verniana.org/volumes/03/Abstracts/Garmt.html",
"items": [
{
"itemType": "journalArticle",
"title": "Sur la trace des “kritiskshalhen” du professeur Friedrich",
"creators": [
{
"firstName": "Garmt de",
"lastName": "Vries-Uiterweerd",
"creatorType": "author"
}
],
"ISSN": "1565-8872",
"abstractNote": "The \"ultra X rays of professor Friedrich of Elbing\" that Jules Verne mentions in Le Testament dun excentrique do not come from the\nauthor's imagination. The trace of their discovery can be followed from a meeting of the Vienna Academy of Science to an article in the Revue scientifique, which Jules\nVerne used to read.",
"libraryCatalog": "Verniana-Jules Verne Studies",
"pages": "125130",
"url": "http://www.verniana.org/volumes/03/Abstracts/Garmt.html",
"volume": "3",
"attachments": [
{
"title": "Full text PDF",
"mimeType": "application/pdf"
},
{
"title": "Snapshot",
"mimeType": "text/html"
}
],
"tags": [],
"notes": [],
"seeAlso": []
}
]
}
]
/** END TEST CASES **/