Przejdź do zawartości

Moduł:Wikidane/format/Pdata1

Z Wikipedii, wolnej encyklopedii
To jest najnowsza wersja artykułu Moduł:Wikidane/format/Pdata1 edytowana 19:47, 5 kwi 2025 przez Michał Ski (dyskusja | edycje).
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
 Dokumentacja modułu[zobacz] [edytuj] [historia] • [odśwież] • § podstrony

Dedykowana wtyczka formatująca wartość cechy, w której powinna być podana jedna data wydarzenia.

Przykładowe cechy do obsługi:

Zobacz też

[edytuj kod]
local format = require("Moduł:Wikidane/format/snak").format
local formatQualifiers = require("Moduł:Wikidane/format/qualifiers")

local function formatSomeValue(prop, options)
	local i18n = {
		earliestOnly = "nie wcześniej niż %s",
		latestOnly = "nie później niż %s",
		both = "pomiędzy %s a\194\160%s"
	}
	
	local earliestDate = formatQualifiers.MINTIME(prop, options, "P1319")
	local latestDate =  formatQualifiers.MAXTIME(prop, options, "P1326")
	if earliestDate and latestDate then
		return string.format(i18n.both, earliestDate, latestDate)
	elseif earliestDate then
		return string.format(i18n.earliestOnly, earliestDate)
	elseif latestDate then
		return string.format(i18n.latestOnly, latestDate)
	end
end

return {
 
scope = "prop",

options = {
	default = {
		separator = ", ",
		lastSeparator = " lub\194\160",
		linkDate = false,
	},
},
 
format = function(prop, options)

	if (prop.type ~= "statement") or not prop.mainsnak then
		return
	end
	
	local result = (prop.mainsnak.snaktype == "somevalue")
		and formatSomeValue(prop, options)
		or format(prop.mainsnak, options)
		
	return result and formatQualifiers.QUALITY(prop)..result or nil
	
end,
 
}