„Modul:SeitenbewertungWikidataExtern“ – Versionsunterschied
Erscheinungsbild
AZ: Die Seite wurde neu angelegt: local p = {} -- Ergebnis: 1 = passende Auszeichnung; 0 = keine passende Auszeichnung; -- ? = Zuordnung/Abruf/Parameter noch nicht eindeutig auswertbar. -- Prueft die aktuelle Seite oder eine ausdruecklich angegebene externe id. function p.wikidataFulfils( frame ) local args = frame.args local wanted = {} for number in tostring( args.match or '' ):gmatch( '%S+' ) do if not number… |
K Klaus verschob die Seite Modul:SeitenbewertungExtern nach Modul:SeitenbewertungWikidataExtern, ohne dabei eine Weiterleitung anzulegen |
(kein Unterschied)
| |
Aktuelle Version vom 3. Oktober 2026, 20:44 Uhr
Die Dokumentation für dieses Modul kann unter Modul:SeitenbewertungWikidataExtern/Doku erstellt werden
local p = {}
-- Ergebnis: 1 = passende Auszeichnung; 0 = keine passende Auszeichnung;
-- ? = Zuordnung/Abruf/Parameter noch nicht eindeutig auswertbar.
-- Prueft die aktuelle Seite oder eine ausdruecklich angegebene externe id.
function p.wikidataFulfils( frame )
local args = frame.args
local wanted = {}
for number in tostring( args.match or '' ):gmatch( '%S+' ) do
if not number:match( '^[1-9]%d*$' ) then
return '?'
end
wanted[ 'Q' .. number ] = true
end
if not next( wanted ) then
return '?'
end
local api = mw.ext and mw.ext.UnlinkedWikibase
if not api or type( api.getEntity ) ~= 'function' then
return '?'
end
local id = mw.text.trim( tostring( args.id or '' ) )
if id == '' then
if type( api.getEntityIdForCurrentPage ) ~= 'function' then
return '?'
end
local ok, result = pcall( api.getEntityIdForCurrentPage )
if not ok then
return '?'
end
id = result
end
if type( id ) ~= 'string' or not id:match( '^Q[1-9]%d*$' ) then
return '?'
end
local ok, entity = pcall( api.getEntity, id )
if not ok or type( entity ) ~= 'table'
or type( entity.sitelinks ) ~= 'table' then
return '?'
end
local site = mw.text.trim( tostring( args.site or 'dewiki' ) )
if site == '' then
site = 'dewiki'
end
local sitelink = entity.sitelinks[ site ]
if sitelink == nil then
return '0'
end
if type( sitelink ) ~= 'table' or type( sitelink.badges ) ~= 'table' then
return '?'
end
for _, badge in ipairs( sitelink.badges ) do
if type( badge ) ~= 'string' then
return '?'
end
if wanted[ badge ] then
return '1'
end
end
return '0'
end
return p