Modul:SDcat: Unterschied zwischen den Versionen

split to allow calling from other modules; add link prefix for testing
(Creating Module:Sandbox/RexxS/SDcat)
 
(split to allow calling from other modules; add link prefix for testing)
Zeile 16: Zeile 16:
* Category:Short description is different from Wikidata
* Category:Short description is different from Wikidata
* Category:Short description with empty Wikidata description
* Category:Short description with empty Wikidata description
For testing purposes, a link prefix |lp= may be set to ":" to make the categories visible.
--]]
--]]


p.setCat = function(frame)
-- function exported for use in other modules
local itemID = mw.text.trim(frame.args.qid or "")
-- (Wikidata entity-ID, local short description, link prefix)
if itemID == "" then itemID = nil end
p._setCat = function(itemID, sdesc, lp)
local sdesc = mw.text.trim(frame.args.sd or ""):lower()
-- Wikidata description field
local wdesc = (mw.wikibase.getDescription(itemID) or ""):lower()
local wdesc = (mw.wikibase.getDescription(itemID) or ""):lower()
if wdesc == "" then
if wdesc == "" then
return "[[:Category:Short description with empty Wikidata description]]"
return "[[" .. lp .. "Category:Short description with empty Wikidata description]]"
elseif wdesc == sdesc then
elseif wdesc == sdesc then
return "[[:Category:Short description matches Wikidata]]"
return "[[" .. lp .. "Category:Short description matches Wikidata]]"
else
else
return "[[:Category:Short description is different from Wikidata]]"
return "[[" .. lp .. "Category:Short description is different from Wikidata]]"
end
end
end
-- function exported for call from #invoke
p.setCat = function(frame)
-- Wikidata entity-ID
local itemID = mw.text.trim(frame.args.qid or "")
if itemID == "" then itemID = nil end
-- local short description
local sdesc = mw.text.trim(frame.args.sd or ""):lower()
-- link prefix, strip quotes
local lp = mw.text.trim(frame.args.sd or ""):gsub('"', '')
return p._setCat(itemID, sdesc, lp)
end
end


return p
return p
Anonymer Benutzer