Modulis:LandAreaFromPrefPop

Dokumentācijas ikona 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.

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