Modul:WikidataDato

Fra Wikisida.no
Sideversjon per 20. sep. 2015 kl. 22:36 av nb>Haros
Hopp til navigering Hopp til søk

Formål

Å presentere datoer fra Wikidata.

Bruk i maler

Modulen brukes ved å legge inn en av:

{{#invoke:WikidataDato|norskDato|qv=Qxxx|pv=Pxxx}}
{{#invoke:WikidataDato|norskDatoLenket|qv=Qxxx|pv=Pxxx}}

i en mal.

Bruk i moduler

local WikidataDato = require( 'Module:WikidataDato' )
local entity = mw.wikibase.getEntity()
local claim = entity.claims['Pxxx'][1].mainsnak  -- Kun et eksempel! I virkeligheten må man sjekke at påstanden finnes og er gyldig.

local dato = WikidataDato.norskDatoFraClaim(claim)

Eksempler

Artikkel I artikkel Utenfor artikkel resultat
Erna Solberg {{#invoke:WikidataDato |norskDato |pv=P569}} {{#invoke:WikidataDato |norskDato |qv=Q291644 |pv=P569}}
{{#invoke:WikidataDato |norskDatoLenket |pv=P569}} {{#invoke:WikidataDato |norskDatoLenket |qv=Q291644 |pv=P569}}
Lenin {{#invoke:WikidataDato |norskDato |pv=P569}} {{#invoke:WikidataDato |norskDato |qv=Q1394 |pv=P569}}
{{#invoke:WikidataDato |norskDatoLenket |pv=P569}} {{#invoke:WikidataDato |norskDatoLenket |qv=Q1394 |pv=P569}}
Platon {{#invoke:WikidataDato |norskDato |pv=P569}} {{#invoke:WikidataDato |norskDato |qv=Q859 |pv=P569}}
{{#invoke:WikidataDato |norskDatoLenket |pv=P569}} {{#invoke:WikidataDato |norskDatoLenket |qv=Q859 |pv=P569}}
Julien Brulé (død)
Giuseppe Corsi da Celano (født)
Sergej Kirdjapkin
Sergej Kirdjapkin
Nicole Oresme
Hiempsal I {{#invoke:WikidataDato |norskDato |pv=P569}} {{#invoke:WikidataDato |norskDato |qv=Q523301 |pv=P569}}

Referanser



local p = {}

local function norskDato(timestamp)
	local success, date = pcall(lang.formatDate, lang, 'j. F Y', timestamp)
	if success then 
		return date
	end
	return ""
end

local function norskDatoLenket(timestamp)
	local success, date1 = pcall(lang.formatDate, lang, 'j. F', timestamp)
	if not success then
		return ""
	end
	local success2, date2 = pcall(lang.formatDate, lang, 'Y', timestamp)
	return '[['..date1..']] [['..date2..']]'
end

function p.norskDatoLenket(frame,qv,pv)
	local entity = mw.wikibase.getEntity(qv)
	if not entity then
		return ""
	end
    local timestamp = entity['claims'][pv][1]["datavalue"]["value"]["time"]
    return norskDatoLenket(timestamp)
end

function p.norskDato(frame,qv,pv)
	local entity = mw.wikibase.getEntity(qv)
	if not entity then
		return ""
	end
    local timestamp = entity['claims'][pv][1]["datavalue"]["value"]["time"]
    return norskDato(timestamp)
end

	

return p