Modulis:LandAreaFromPrefPop
Izskats
Moduļa dokumentācija[skatīt] [labot] [hronoloģija] [pārlādēt]
Modulis izveidots, lai gada pirmajā pusē Template:Latvijas novada infokaste nerēķinātu blīvumu ar nesakrītošiem gadiem sauszemes platībai un iedzīvotāju skaitam, jo platību dati tiek publicēti gadu sākumā, bet iedzīvotāju skaits tiek publicēts, gada vidū. Modulis iegūst "preferred" iedzīvotāju skaita datumu un atgriež sakrītošā datuma sauszemes platību.
Dokumentācija iekļauta no Modulis:LandAreaFromPrefPop/doc (labot | hronoloģija) Vari eksperimentēt šī moduļa smilšu kastes (izveidot | spoguļversija) un testu (izveidot) lapā Moduļa apakšlapas. |
local p = {}
local function get_pref_pop(frame)
local item_id = frame.entityID
local item = mw.wikibase.getEntity(item_id)
if not item then
return 'Invalid Item ID'
end
local claims = item.claims
for _, claim_list in pairs(claims) do
for _, claim in ipairs(claim_list) do
if claim.mainsnak.property == "P1082" and claim.rank == "preferred" then
return claim.qualifiers.P585[1].datavalue.value.time
end
end
end
end
function p.getLand(frame)
local item_id = frame.entityID
local point_in_time = get_pref_pop(frame)
local item = mw.wikibase.getEntity(item_id)
if not item then
return 'Invalid Item ID'
end
local claims = item.claims
for _, claim_list in pairs(claims) do
for _, claim in ipairs(claim_list) do
if claim.mainsnak.property == "P2046" and claim.qualifiers and claim.qualifiers.P518 and claim.qualifiers.P518[1].datavalue.value.id == "Q11081619" then
if claim.qualifiers.P585 and claim.qualifiers.P585[1].datavalue.value.time == point_in_time then
return claim.mainsnak.datavalue.value.amount:sub(2)
end
end
end
end
end
return p