La documentazione per questo modulo può essere creata in Modulo:Image/sandbox/man
local mWikibase = require('Modulo:Wikibase') local default = "Pagebanner default.jpg" local entityId = '' local WDBanner = '' local WDFoto = '' local WDTitolo = '' local function _isempty(s) return s == nil or s == '' end local function _getID(frame) entityId = frame.args[1] or frame.args.da or frame.args.from if _isempty(entityId) then entityId = mw.wikibase.getEntityIdForCurrentPage() end end local function _getWDTitle() WDTitolo = mw.wikibase.getLabel( entityId ) end local function _getWDBanner() WDBanner = mw.wikibase.getBestStatements( entityId, 'P948') WDBanner = WDBanner[1] and WDBanner[1].mainsnak and WDBanner[1].mainsnak.datavalue and WDBanner[1].mainsnak.datavalue.value or nil end local function _getWDFoto() WDFoto = mw.wikibase.getBestStatements( entityId, 'P18') WDFoto = WDFoto[1] and WDFoto[1].mainsnak and WDFoto[1].mainsnak.datavalue and WDFoto[1].mainsnak.datavalue.value or nil end local function _fetchWD(frame) _getID(frame) _getWDBanner() _getWDFoto() _getWDTitle() end local function _getImage(frame) local foto = WDFoto local fotodesc = frame.args.fotodesc if _isempty(fotodesc) then fotodesc = frame.args.desc if _isempty(fotodesc) then fotodesc = (not _isempty(WDTitolo) and (WDTitolo..' ') or '').. '(immagine)' end end local fotopx = '100px' if not _isempty(frame.args.fotopx) then fotopx = frame.args.fotopx end return string.format('[[File:%s|%s|%s]]', foto, fotopx, fotodesc) end local function _getBanner(frame) local banner = WDBanner or default local bannerdesc = frame.args.bannerdesc if _isempty(bannerdesc) then bannerdesc = frame.args.desc if _isempty(bannerdesc) then bannerdesc = (not _isempty(WDTitolo) and (WDTitolo..' ') or '').. '(banner)' end end local bannerpx = '300px' if not _isempty(frame.args.bannerpx) then bannerpx = frame.args.bannerpx end return string.format('[[File:%s|%s|%s]]', banner, bannerpx, bannerdesc) end local p = {} function p.getImage(frame) _getID(frame) _getWDFoto() _getWDTitle() return _getImage(frame) end function p.getBanner(frame) _getID(frame) _getWDBanner() _getWDTitle() return _getBanner(frame) end function p.getAllImages(frame) _fetchWD(frame) return p.getBanner(frame) .. p.getImage(frame) end function p.getBestImage(frame) _getID(frame) _getWDBanner() _getWDTitle() if WDBanner ~= nil then return _getBanner(frame) else _getWDFoto() if WDFoto ~= nil then return _getImage(frame) else return _getBanner(frame) end end end return p