Modul:Nylig avdød
Formål
Denne modulen benyttes for å si ifra om en Wikidata-angitt dato er innenfor en viss dagsrekkevidde.
Bruk
Som standard, henter modulen kun dødsdato og sjekker om den er eldre enn 30 dager. Man kan ikke angi q-verdi.
Modulen har en funksjon: timeAgo. Den tar opptil to parametre.
- Hvilken egenskap som skal hentes (standard:
P570) - Hvor mange dager siden? (standard:
30)
Den gjengir true om datoen var for over så-så mange dager siden, og false om den er «yngre».
TemplateData
Dette er TemplateData-dokumentasjonen for malen, som brukes av VisualEditor og andre verktøy.
Nylig avdød
Ingen beskrivelse.
| Parameter | Beskrivelse | Type | Status | |||
|---|---|---|---|---|---|---|
| Ingen parametre ble angitt | ||||||
Eksempler
Se også
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( '{{CURRENTDAY}}' )
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