Sari la conținut

Modul:InfoboxRoad

De la Wikipedia, enciclopedia liberă
local infobox = require('Modul:Infobox')._infobox
local getArgs = require('Modul:Arguments').getArgs
local NativeName = require('Modul:NativeName')
local Wikidata = require('Modul:Wikidata')
local p = {}

p.fromArgs = function(road)
	local ibargs = {}
	ibargs.antet = 'strada'
	ibargs.title = road.name.main
	return infobox(ibargs)
end

p.fromArray = function(args)
	local road = {}
	road.name = {}
	road.name.main = args.highway_name or args.name
	road.name.alternate = args.alternate_name
	road.name.nativelabel = args.nativ
	road.name.nativelang = args.limba
	road.name.native = args.translation or args.limba and (NativeName.fromArgs({}, {}, nil))
	
	road.country = args.country or Wikidata.findValueListWithDecoratedQualifiers(nil, 'P17', true, nil, nil, 'P41', '20px')
	road.image.file = args.image or args.imagine or Wikidata.loadOneValueInChain('P18', 'raw')
	road.image.caption = (args.image or args.imagine) and args.caption or Wikidata.loadOneValueInChain('P18', '_P2096')
	
	return p.fromArgs(road)
end

p.fromFrame = function(frame)
	local args = getArgs(frame)
	return p.fromArray(args)
end

return p