Aller au contenu

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

De Wreck
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
Modèle:Infobox>Zebulon84
localdata.item : utilisation de l'id plutôt que l'élément entier
Ligne 1 : Ligne 1 :
local localdata = {}
local localdata = {}


local wikidata = require('Module:Wikidata')
local frame = mw.getCurrentFrame()
local frame = mw.getCurrentFrame()
local modulename =  frame.args.nom
local modulename =  frame.args.nom
Ligne 21 : Ligne 20 :


-- load wikidata item:
-- load wikidata item:
localdata.item = wikidata.getEntity(localdata.wikidata)
if localdata.wikidata
and mw.wikibase.isValidEntityId( localdata.wikidata )
and mw.wikibase.entityExists( localdata.wikidata )  
then
localdata.item = localdata.wikidata
else
localdata.item = mw.wikibase.getEntityIdForCurrentPage()
end


return localdata
return localdata

Version du 1 mai 2022 à 20:45

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

local localdata = {}

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:
if localdata.wikidata 
	and mw.wikibase.isValidEntityId( localdata.wikidata ) 
	and mw.wikibase.entityExists( localdata.wikidata ) 
then
	localdata.item = localdata.wikidata
else
	localdata.item = mw.wikibase.getEntityIdForCurrentPage()
end

return localdata