Module:Dictionnaires

De Wikirouge
Aller à la navigation Aller à la recherche

La documentation pour ce module peut être créée à Module:Dictionnaires/doc

local p = {}
local wikidata = require "Module:Wikidata"


-- Community wants to print this id only if the person is dead. 
-- Check to see if there is a « date of death » statement

local function whoWhosWhoCondition(item)
	local deathPid = "P570"
		
	if item.claims and item.claims[deathPid] then
		return true
	end
	return false
end

local bases = {
-- { nom, propriété Wikidata, format URL}
{"1000 célébrités de La Réunion''", "P6858", "https://www.reunionnaisdumonde.com/spip.php?article$1"},
{"''American National Biography''", "P4823", "https://doi.org/10.1093/anb/9780198606697.article.$1"},
{"''Archives of Maryland Biographical Series''", "P6371", "https://tools.wmflabs.org/wikidata-externalid-url/?p=6371&url_prefix=https://msa.maryland.gov/msa/speccol/sc3500/sc3520/&id=$1"},
{"''Australian Dictionary of Biography''", "P1907", "http://adb.anu.edu.au/biography/$1"},
{"''The Australian Women's Register''", "P4186", "http://www.womenaustralia.info/biogs/$1.htm"},
{"''Baltisches Biographisches Lexikon Digital''", "P2580", "https://bbld.de/$1"},
{"Base de données des élites suisses", "P6231", "https://www2.unil.ch/elitessuisses/index.php?page=detailPerso&idIdentite=$1"},
{"''Biografisch Woordenboek van Nederland''", "P7941", "http://resources.huygens.knaw.nl/bwn1880-2000/BWN/lemmata/$1"},
{"''Biographie nationale de Belgique''", "P6234", "http://www.academieroyale.be/fr/la-biographie-nationale-personnalites-detail/personnalites/$1/Vrai/"},
{"Biographie vosgienne", "P6059", "https://www.ecrivosges.com/vosgiens/bio.php?id=$1&biochrono=Biographie"},
{"''Biografisch Portaal van Nederland''", "P651", "http://www.biografischportaal.nl/persoon/$1"},
{"''Biographical Dictionary of Georgia''", "P4991", "http://www.nplg.gov.ge/bios/en/$1/"},
{"''Biographical Dictionary of Iowa''", "P6851", "http://uipress.lib.uiowa.edu/bdi/DetailsPage.aspx?id=$1"},
{"''Biographisches Lexikon zur Geschichte Südosteuropas''", "P7928", "https://www.biolex.ios-regensburg.de/BioLexViewview.php?ID=$1"},
{"''Brockhaus Enzyklopädie''", "P5019", "https://brockhaus.de/ecs/enzy/article/$1"},
{"''CALS Encyclopedia of Arkansas''", "P7685", "https://encyclopediaofarkansas.net/entries/$1/"},
{"''China Biographical Database Project''", "P497", "http://db1.ihp.sinica.edu.tw/cbdbc/cbdbkmeng?~~AAA$1"},
{"''Collective Biographies of Women''", "P4539", "http://cbw.iath.virginia.edu/women_display.php?id=$1"},
{"''Colorado Encyclopedia''", "P7680", "https://coloradoencyclopedia.org/article/$1"},
{"''Dansk kvindebiografisk leksikon''", "P7939", "https://www.kvinfo.dk/side/597/bio/$1/"},
{"''Deutsche Biographie''", "P7902", "http://www.deutsche-biographie.de/$1.html"},
{"''Diccionari biogràfic de dones''", "P2498", "http://dbd.cat/fitxa_biografies.php?id=$1"},
{"''Diccionario Biográfico Español''", "P4459", "http://dbe.rah.es/biografias/$1"},
{"''Dictionary of New Zealand''", "P2745", "http://www.teara.govt.nz/en/biographies/$1"},
{"''Dictionary of Sydney''", "P3794", "http://dictionaryofsydney.org/$1"},
{"''Dictionary of Ulster Biography''", "P2029", "http://www.newulsterbiography.co.uk/index.php/home/viewPerson/$1"},
{"''Dictionary of Welsh Biography''", "P1648", "http://wbo.llgc.org.uk/en/$1.html"},
{"''Dictionary of Wisconsin History''", "P7614", "https://www.wisconsinhistory.org/Records/Article/$1"},
{"''Dictionnaire biographique du Canada''", "P2753", "http://www.biographi.ca/fr/bio/$1F.html"},
{"''Dictionnaire biographique suédois''", "P3217", "https://sok.riksarkivet.se/sbl/Presentation.aspx?id=$1"},
{"''Dictionnaire du Jura''", "P1276", "http://www.diju.ch/f/notices/detail/$1"},
{"''Dictionnaire historique de la Suisse''", "P902", "http://www.hls-dhs-dss.ch/textes/f/F$1.php"},
{"''Dictionnaire universel des créatrices''", "P7578", "https://www.dictionnaire-creatrices.com/fiche-$1"},
{"''Digitaal Vrouwenlexicon van Nederland''", "P1788", "http://resources.huygens.knaw.nl/vrouwenlexicon/lemmata/data/$1"},
{"''Dizionario biografico dei Friulani''", "P7203", "http://www.dizionariobiograficodeifriulani.it/$1"},
{"''Dizionario biografico degli italiani''", "P1986", "http://www.treccani.it/enciclopedia/$1_(Dizionario_Biografico)"},
{"''Dizionario di Storia''", "P6404", "http://www.treccani.it/enciclopedia/$1_(Dizionario-di-Storia)/"},
{"E-archiv.li", "P860", "http://www.e-archiv.li/personDetail.aspx?persID=$1"},
{"''Dictionnaire des Vendéens''", "P6728", "http://www.vendeens-archives.vendee.fr/personnalite-$1"},
{"''Dictionnaire des Wallons''", "P6342", "http://connaitrelawallonie.wallonie.be/fr/wallons-marquants/dictionnaire/$1"},
{"''Enciclopédia Açoriana''", "P1385", "http://www.culturacores.azores.gov.pt/ea/pesquisa/Default.aspx?id=$1"},
{"''Enciclopedia delle donne''", "P6488", "http://www.enciclopediadelledonne.it/biografie/$1"},
{"''Enciclopedia italiana''", "P4223", "http://www.treccani.it/enciclopedia/$1_(Enciclopedia-Italiana)/"},
{"''Enciclopedia De Agostini''", "P6706", "http://www.sapere.it/enciclopedia/$1.html"},
{"''Enciclopédia Itaú Cultural''", "P4399", "http://enciclopedia.itaucultural.org.br/$1"},
{"''Encyclopædia Britannica''", "P1417", "https://www.britannica.com/$1"},
{"''Encyclopædia Iranica''", "P3021", "http://www.iranicaonline.org/articles/$1"},
{"''Encyclopædia Universalis''", "P3219", "https://www.universalis.fr/encyclopedie/$1/"},
{"''Encyclopedia of Alabama''", "P6010", "http://www.encyclopediaofalabama.org/article/$1"},
{"''Encyclopedia of Chicago''", "P7901", "http://www.encyclopedia.chicagohistory.org/pages/$1.html"},
{"''Encyclopedia of Cleveland History''", "P7644", "https://case.edu/ech/articles/$1"},
{"''Encyclopedia of Modern Ukraine''", "P4613", "http://esu.com.ua/search_articles.php?id=$1"},
{"''The Encyclopedia of Oklahoma History and Culture''", "P7723", "https://www.okhistory.org/publications/enc/entry.php?entry=$1"},
{"''Encyclopedia of the Great Plains''", "P7686", "http://plainshumanities.unl.edu/encyclopedia/doc/egp.$1"},
{"''Encyclopedia Virginia''", "P5981", "https://www.encyclopediavirginia.org/$1"},
{"''Encyclopédie Treccani''", "P3365", "http://www.treccani.it/enciclopedia/$1"},
{"Estonian Biographical Database", "P7509", "http://www2.kirmus.ee/biblioserver/isik/index.php?id=$1"},
{"''Dictionnaire biographique du lycée Clemenceau''", "P4930", "https://www.lyceedenantes.fr/julien/$1"},
{"''Gran Enciclopedia Aragonesa''", "P1807", "http://www.enciclopedia-aragonesa.com/voz.asp?voz_id=$1"},
{"''Gran Enciclopèdia Catalana''", "P1296", "https://www.enciclopedia.cat/EC-GEC-$1.xml"},
{"''Gran Enciclopedia de Navarra''", "P7388", "http://www.enciclopedianavarra.com/?page_id=$1"},
{"''Handbook of Texas Online''", "P6015", "https://tshaonline.org/handbook/online/articles/$1"},
{"''Kansaspedia''", "P7687", "https://www.kshs.org/kansapedia/wd/$1"},
{"''Encyclopédie Larousse''", "P6058", "https://www.larousse.fr/encyclopedie/$1"},
{"''L'Encyclopédie canadienne''", "P5395", "https://www.thecanadianencyclopedia.ca/fr/article/$1"},
{"''Swedish Nationalencyklopedin''", "P3222", "https://www.ne.se/uppslagsverk/encyklopedi/lång/$1"},
{"''Maine: An Encyclopedia''", "P7697", "https://maineanencyclopedia.com/$1/"},
{"''Mississippi Encyclopedia''", "P7688", "https://mississippiencyclopedia.org/entries/$1/"},
{"MNopedia", "P6283", "https://www.mnopedia.org/$1"},
{"Munzinger Archiv", "P1284", "https://www.munzinger.de/search/go/document.jsp?id=$1"},
{"NCpedia", "P6284", "https://www.ncpedia.org/$1"},
{"''Nouveau dictionnaire de biographie alsacienne''", "P4992", "http://www.alsace-histoire.org/netdba/$1"},
{"''New Georgia Encyclopedia''", "P4903", "http://www.georgiaencyclopedia.org/articles/$1"},
{"''Norsk biografisk leksikon''", "P5080", "https://nbl.snl.no/$1"},
{"Online Nevada Encyclopedia", "P7689", "http://www.onlinenevada.org/articles/$1"},
{"''The Oregon Encyclopedia''", "P7691", "https://oregonencyclopedia.org/articles/$1/"},
{"''Österreichisches Biographisches Lexikon 1815–1950''", "P6194", "http://www.biographien.ac.at/oebl/oebl_$1.xml"},
{"''Oxford Dictionary of National Biography''", "P1415", "https://doi.org/10.1093/ref:odnb/$1"},
{"''Sächsische Biografie''", "P1710", "http://saebi.isgv.de/gnd/$1"},
{"''Slovenska biografija''", "P1254", "http://www.slovenska-biografija.si/oseba/sbi$1/"},
{"''Store norske leksikon''", "P4342", "https://snl.no/$1"},
{"''South Carolina Encyclopedia''", "P7690", "http://www.scencyclopedia.org/sce/entries/$1/"},
{"''Svenskt kvinnobiografiskt lexikon''", "P4963", "https://www.skbl.se/sv/artikel/$1"},
{"''Tennessee Encyclopedia''", "P6016", "https://tennesseeencyclopedia.net/entries/$1/"},
{"''Uppslagsverket Finland''", "P4854", "https://uppslagsverket.fi/sv/sok/view-103684-$1"},
{"''Utah History Encyclopedia''", "P7692", "https://www.uen.org/utah_history_encyclopedia/$1.shtml"},
{"''Visuotinė lietuvių enciklopedija''", "P7666", "https://www.vle.lt/Straipsnis/$1"},
{"''The West Virginia Encyclopedia''", "P7695", "https://www.wvencyclopedia.org/articles/$1"},
{"''Who's Who in France''", "P4124", "https://www.whoswho.fr/bio/$1", condition = whoWhosWhoCondition},
{"WyoHistory.org", "P7693", "https://www.wyohistory.org/encyclopedia/$1"},
}

-- Who’s who in france

local function idWhosWhoFr( id, item )

	if not id:match("^[a-z-]+[_]%d+$") then
		return false
	end
	
	return 'https://www.whoswho.fr/bio/' .. id
end

function p.main(frame)	
	local id = frame.args.id
	if id == "" then
		id = nil
	end

	local entity = mw.wikibase.getEntityObject(id)
	if not entity then
		return "[[Catégorie:Article utilisant le modèle Dictionnaires inactif]]"
	end
	local vals = {}
	for i, base in pairs(bases) do
		
		if not(base["condition"]) or base["condition"](entity) then
			local val = wikidata.formatStatements{entity = entity, text = base[1], property = base[2], urlpattern = base[3], numval = 1, addcat = true}
			if val then 
				table.insert(vals, val)
			end
		end
	end
	if #vals == 0 then
		return "[[Catégorie:Article utilisant le modèle Dictionnaires inactif]]"
	end
	local header = ''
	if #vals > 1 then
		header = "Notices dans des dictionnaires ou encyclopédies généralistes"
	else
		header = 'Notice dans un dictionnaire ou une encyclopédie généraliste'
	end

	local title = wikidata.addLinkBack(header, entity, 'identifiers') -- lien vers la section approriété de Wikidata

	return title .. " : " .. table.concat( vals, ' • ' )
end

return p