Modul:Nylig avdød

Fra Wikisida.no
Sideversjon per 12. sep. 2025 kl. 14:55 av nb>EdoAug (Fjerner sideversjon 25306532 av EdoAug (diskusjon))
Hopp til navigering Hopp til søk

Dokumentasjon for denne modulen kan opprettes på Modul:Nylig avdød/dok

local p = {}

function p.timeAgo(frame)
	local days = frame.args[2]
	local property = frame.args[1]
	if not property then
		property = 'P570'
	end
	if not days then
		days = 30
	end
	local test = frame:preprocess( '{{CURRENTHOUR}}' )
	days = days * 86400 -- days number times seconds in a day
	local entity = mw.wikibase.getEntity()
	if not entity then
		return "Ingen Wikidata-element funnet for gjeldende side"
	end
	local currentTime = os.time()
	local entityTime = entity:getBestStatements(property)
	if not next(entityTime) then
		error("Ingen " .. property .. "-verdi angitt på Wikidata")
	end
	entityTime = entityTime[1].mainsnak.datavalue.value
	local timeofdeath
	if entityTime.precision == 10 then -- if there is no day-specific date given, assume end of month
		timeofdeath = os.time({year = string.sub(entityTime.time,2,5), month = string.sub(entityTime.time,7,8), day = 28})
	elseif entityTime.precision <= 9 then -- if there is no month-specific date given, assume end of year, just return false
		return false
	else
		timeofdeath = os.time({year = string.sub(entityTime.time,2,5), month = string.sub(entityTime.time,7,8), day = string.sub(entityTime.time,10,11)})
	end
	if math.abs(os.difftime(timeofdeath,currentTime)) > days then
		return true
	else
		return false
	end
end

return p