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

De Aknotl
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
 
m 1 version importée
 
(Aucune différence)

Dernière version du 24 juillet 2021 à 11:33

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