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
m 11 versions importées
 
(3 versions intermédiaires par 2 utilisateurs non affichées)
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 )
or localdata.wikidata == '-'
then
localdata.item = localdata.wikidata
else
localdata.item = mw.wikibase.getEntityIdForCurrentPage()
end


return localdata
return localdata

Dernière version du 22 février 2026 à 00:16

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 )
	or localdata.wikidata == '-'
then
	localdata.item = localdata.wikidata
else
	localdata.item = mw.wikibase.getEntityIdForCurrentPage()
end

return localdata