Aller au contenu

« Module:Infobox/Localdata » : différence entre les versions

De Wreck
Modèle:Infobox>Od1n
test superflu : « v » est forcément existant et de type string
Modèle:Infobox>Od1n
optimisation (surtout que ce module est chargé plusieurs fois par infobox et qu'il peut y avoir de nombreux paramètres) : mw.text.trim() coûteux seulement pour les paramètres non-nommés, et apparemment il n'y en a jamais ; remarquer que maintenant c'est la valeur trimmée qui est stockée dans localdata
Ligne 10 : Ligne 10 :
-- fill-up table localdata using params
-- fill-up table localdata using params
for k, v in pairs(params) do
for k, v in pairs(params) do
if mw.text.trim(v) ~= '' then -- empty parameters are ignored
if type(k) == number then
v = mw.text.trim(v)
end
if v ~= '' then -- empty parameters are ignored
localdata[k] = v
localdata[k] = v
end
end

Version du 3 juillet 2021 à 20:02

La documentation pour ce module peut être créée à Module:Infobox/Localdata/doc

local localdata = {}

local wikidata = require('Module:Wikidata')
local frame = mw.getCurrentFrame()
local modulename =  frame.args.nom
local parent = frame:getParent() or frame
local templatename = parent:getTitle() -- au cas où il soit différent du nom du module
local params = parent.args

-- fill-up table localdata using params
for k, v in pairs(params) do
	if type(k) == number then
		v = mw.text.trim(v)
	end
	if v ~= '' then -- empty parameters are ignored
		localdata[k] = v
	end
end
localdata.templatename = templatename
localdata.modulename = modulename

-- load wikidata item:
localdata.item = wikidata.getEntity(localdata.wikidata)

return localdata