Module:Sandbox/ProcrastinatingReader/ib

This is an old revision of this page, as edited by ProcrastinatingReader (talk | contribs) at 12:13, 5 December 2020 (+). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
local getArgs = require('Module:Arguments').getArgs

local p = {}

local function dataValue(frame, settlementName, parameterName, itemName)
	return frame:expandTemplate{ title = 'Data '..settlementName..' municipality', args = {
		parameterName,
		itemName
	}}
end

function p.nativeName(frame)
	local val = frame.args[1]
	
	if val then
		local match = mw.ustring.match(val, "{{[Ii]nfobox (%a*)")
		--if true then return match end
		if match and match[1] then
			return match[1]
		end
	end
	
	return ""
end

function p.area(frame)
	local args = getArgs(frame)
	local argType = args['arg_type']
	
	return frame:expandTemplate{ title = 'infobox_settlement/areadisp', args = {
		['km2'] = args['area_'..argType..'_km2'] or dataValue(frame, args['subdivision_name'], 'area_'..argType..'_km2', args['name']),
		['ha'] = args['area_'..argType..'_ha'],
		['acre'] = args['area_'..argType..'_acre'],
		['sqmi'] = args['area_'..argType..'_sq_mi'],
		['dunam'] = args['area_'..argType..'_dunam'],
		['link'] = args['dunam_link'],
		['pref'] = args['unit_pref'],
		['name'] = args['subdivision_name'],
		['mag'] = args['area_magnitude']
	}}
end

return p