{
	"translatorID": "076bd26a-1517-469d-85e9-31316a6f6cb0",
	"label": "Wikisource",
	"creator": "Philipp Zumstein",
	"target": "^https?://en\\.wikisource\\.org/w",
	"minVersion": "2.1.9",
	"maxVersion": "",
	"priority": 100,
	"inRepository": true,
	"translatorType": 4,
	"browserSupport": "gcsibv",
	"lastUpdated": "2022-12-06 00:17:12"
}

/*
	***** BEGIN LICENSE BLOCK *****

	Copyright © 2016 Philipp Zumstein

	This file is part of Zotero.

	Zotero 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.

	Zotero 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 Zotero. If not, see <http://www.gnu.org/licenses/>.

	***** END LICENSE BLOCK *****
*/


function detectWeb(doc, url) {
	// Diff interface is not supported
	if (new URLSearchParams(doc.location.search).get('diff')) {
		return false;
	}

	if (doc.getElementById("header_title_text")) {
		var titleLink = ZU.xpath(doc, '//span[@id="header_title_text"]/a');
		if (titleLink.length && (titleLink[0].textContent.match(/Encyclop(æ|ae|e)dia|Dictionary/) )) {
			return "encyclopediaArticle";
		}
		if (doc.getElementById("ca-proofread-source")) {
			if (doc.getElementById("header_section_text")) {
				return "bookSection";
			} else {
				return "book";
			}
		} else {
			return "manuscript";
		}
	} else if (getSearchResults(doc, true)) {
		return "multiple";
	}
}

function getSearchResults(doc, checkOnly) {
	var items = {};
	var found = false;
	var rows = ZU.xpath(doc, '//ul[contains(@class, "search-results")]//a');
	for (var i=0; i<rows.length; i++) {
		var href = rows[i].href;
		var title = ZU.trimInternal(rows[i].textContent);
		if (!href || !title) continue;
		if (checkOnly) return true;
		found = true;
		items[href] = title;
	}
	return found ? items : false;
}

function doWeb(doc, url) {
	if (detectWeb(doc, url) == "multiple") {
		Zotero.selectItems(getSearchResults(doc, false), function (items) {
			if (!items) {
				return true;
			}
			var articles = new Array();
			for (var i in items) {
				articles.push(i);
			}
			ZU.processDocuments(articles, scrape);
		});
	} else {
		scrape(doc, url);
	}
}

function scrape(doc, url) {
	var item = new Zotero.Item(detectWeb(doc, url));
	if (item.itemType === "bookSection") {
		item.title = doc.getElementById("header_section_text").textContent;
		item.bookTitle = doc.getElementById("header_title_text").textContent;
	} else if (item.itemType === "encyclopediaArticle") {
		var header = doc.getElementById("header_title_text");
		item.encyclopediaTitle   = ZU.xpathText(header, './a[1]');
		if (ZU.xpath(header, './a[2]').length > 0) {
			item.volume   = ZU.xpathText(header, './a[2]');
		}
		if (doc.getElementById("header_section_text")) {
			item.title = doc.getElementById("header_section_text").textContent;
		} else {
			item.title = ZU.xpathText(doc, '//*[@id="header_title_text"]/text()').replace(/(,|\n)/g,'');
		}
	} else {
		item.title = doc.getElementById("header_title_text").textContent;
	}
	
	var creators = ZU.xpath(doc, '//span[@id="header_author_text"]');
	for (var i=0; i<creators.length; i++) {
		var author = creators[i].textContent.replace('by', '').replace(/\(.+/, '');
		item.creators.push(ZU.cleanAuthor(author, "author"));
	}
	var tags = ZU.xpath(doc, '//div[@id="mw-normal-catlinks"]/ul/li/a');
	for (var i=0; i<tags.length; i++) {
		item.tags.push(tags[i].text);
	}

	item.rights = ZU.xpathText(doc, '//li[@id="footer-info-copyright"]');
	item.archive = "Wikisource";
	var permalink = ZU.xpathText(doc, '//li[@id="t-permalink"]/a/@href');
	item.attachments.push({
		url : permalink,
		title : "Wikisource Snapshot",
		type : "text/html"
	});
	
	//Add more metadata from the "Source" page if it is present
	var sourcePage = ZU.xpathText(doc, '//li[@id="ca-proofread-source"]//a/@href');
	if (sourcePage) {
		ZU.processDocuments(sourcePage, function(sourceDoc) {
			scrapeSource(sourceDoc, item);
		});
	} else {
		item.complete();
	}
}


function scrapeSource(doc, item) {
	var indexedFields = {};
	var lines = ZU.xpath(doc, '//table[@id="prp-indexTable"]/tbody/tr');
	for (var i=0; i<lines.length; i++) {
		var label = ZU.xpathText(lines[i], './th').trim();
		var value = ZU.xpathText(lines[i], './td').trim();
		indexedFields[label] = value;
	}
	//Z.debug(indexedFields);
	if (indexedFields.Year) {
		item.date = indexedFields.Year;
	}
	if (indexedFields.Publisher) {
		item.publisher = indexedFields.Publisher;
	}
	if (indexedFields.Location) {
		item.place = indexedFields.Location;
	}
	if (indexedFields.Editor) {
		item.creators.push(ZU.cleanAuthor(indexedFields.Editor, "editor"));
	}
	if (indexedFields.Illustrator) {
		item.creators.push(ZU.cleanAuthor(indexedFields.Illustrator, "contributor"));
	}
	item.complete();
}
/** BEGIN TEST CASES **/
var testCases = [
	{
		"type": "web",
		"url": "https://en.wikisource.org/wiki/Amazing_Grace",
		"items": [
			{
				"itemType": "manuscript",
				"title": "Amazing Grace",
				"creators": [
					{
						"firstName": "John",
						"lastName": "Newton",
						"creatorType": "author"
					}
				],
				"archive": "Wikisource",
				"libraryCatalog": "Wikisource",
				"rights": "Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply.  By using this site, you agree to the Terms of Use and Privacy Policy.",
				"attachments": [
					{
						"title": "Wikisource Snapshot",
						"type": "text/html"
					}
				],
				"tags": [
					"Individual Christian hymns",
					"Non-gospel Christian and Judaic hymns",
					"Spoken works"
				],
				"notes": [],
				"seeAlso": []
			}
		]
	},
	{
		"type": "web",
		"url": "https://en.wikisource.org/wiki/Alice%27s_Adventures_in_Wonderland_(1866)/Chapter_2",
		"items": [
			{
				"itemType": "bookSection",
				"title": "Chapter 2: The Pool of Tears",
				"creators": [
					{
						"firstName": "Lewis",
						"lastName": "Carroll",
						"creatorType": "author"
					},
					{
						"firstName": "John",
						"lastName": "Tenniel",
						"creatorType": "contributor"
					}
				],
				"date": "1866",
				"archive": "Wikisource",
				"bookTitle": "Alice's Adventures in Wonderland (1866)",
				"libraryCatalog": "Wikisource",
				"place": "London",
				"publisher": "MacMillan & Co.",
				"rights": "Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply.  By using this site, you agree to the Terms of Use and Privacy Policy.",
				"shortTitle": "Chapter 2",
				"attachments": [
					{
						"title": "Wikisource Snapshot",
						"type": "text/html"
					}
				],
				"tags": [],
				"notes": [],
				"seeAlso": []
			}
		]
	},
	{
		"type": "web",
		"url": "https://en.wikisource.org/wiki/Letters_of_Tagore_(1917)",
		"items": [
			{
				"itemType": "book",
				"title": "Letters of Tagore (1917)",
				"creators": [
					{
						"firstName": "Rabindranath",
						"lastName": "Tagore",
						"creatorType": "author"
					}
				],
				"date": "1917",
				"archive": "Wikisource",
				"libraryCatalog": "Wikisource",
				"place": "New York",
				"publisher": "The Macmillan Company",
				"rights": "Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply.  By using this site, you agree to the Terms of Use and Privacy Policy.",
				"attachments": [
					{
						"title": "Wikisource Snapshot",
						"type": "text/html"
					}
				],
				"tags": [
					"1917 works",
					"PD-old-70-1923"
				],
				"notes": [],
				"seeAlso": []
			}
		]
	},
	{
		"type": "web",
		"url": "https://en.wikisource.org/wiki/The_Descent_of_Man_(Darwin)/Chapter_IV",
		"items": [
			{
				"itemType": "bookSection",
				"title": "Chapter IV: Comparison of the Mental Powers of Man and the Lower Animals (Continued)",
				"creators": [
					{
						"firstName": "Charles",
						"lastName": "Darwin",
						"creatorType": "author"
					}
				],
				"date": "1875",
				"archive": "Wikisource",
				"bookTitle": "The Descent of Man",
				"libraryCatalog": "Wikisource",
				"place": "New York",
				"publisher": "D. Appleton",
				"rights": "Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply.  By using this site, you agree to the Terms of Use and Privacy Policy.",
				"shortTitle": "Chapter IV",
				"attachments": [
					{
						"title": "Wikisource Snapshot",
						"type": "text/html"
					}
				],
				"tags": [],
				"notes": [],
				"seeAlso": []
			}
		]
	},
	{
		"type": "web",
		"url": "https://en.wikisource.org/w/index.php?search=mannheim&title=Special:Search&go=Go",
		"items": "multiple"
	},
	{
		"type": "web",
		"url": "https://en.wikisource.org/wiki/Gell,_John_%281593-1671%29_%28DNB00%29",
		"items": [
			{
				"itemType": "encyclopediaArticle",
				"title": "Gell John (1593-1671)",
				"creators": [
					{
						"firstName": "Charles Harding",
						"lastName": "Firth",
						"creatorType": "author"
					},
					{
						"firstName": "Leslie",
						"lastName": "Stephen",
						"creatorType": "editor"
					}
				],
				"date": "1890",
				"archive": "Wikisource",
				"encyclopediaTitle": "Dictionary of National Biography, 1885-1900",
				"libraryCatalog": "Wikisource",
				"place": "London",
				"publisher": "Elder Smith & Co.",
				"rights": "Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply.  By using this site, you agree to the Terms of Use and Privacy Policy.",
				"volume": "Volume 21",
				"attachments": [
					{
						"title": "Wikisource Snapshot",
						"type": "text/html"
					}
				],
				"tags": [
					"1890 works",
					"DNB biographies"
				],
				"notes": [],
				"seeAlso": []
			}
		]
	},
	{
		"type": "web",
		"url": "https://en.wikisource.org/wiki/A_Dictionary_of_Music_and_Musicians/Cannabich,_Christian",
		"items": [
			{
				"itemType": "encyclopediaArticle",
				"title": "Cannabich, Christian",
				"creators": [
					{
						"firstName": "George",
						"lastName": "Grove",
						"creatorType": "editor"
					}
				],
				"date": "1900",
				"archive": "Wikisource",
				"encyclopediaTitle": "A Dictionary of Music and Musicians",
				"libraryCatalog": "Wikisource",
				"place": "London",
				"publisher": "MacMillan & Co., Ltd.",
				"rights": "Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply.  By using this site, you agree to the Terms of Use and Privacy Policy.",
				"attachments": [
					{
						"title": "Wikisource Snapshot",
						"type": "text/html"
					}
				],
				"tags": [
					"DMM composer biographies"
				],
				"notes": [],
				"seeAlso": []
			}
		]
	}
]
/** END TEST CASES **/
