In today's article we are going to talk about Module:SDcat. Module:SDcat is a topic that has captured the attention of many in recent years, and it is important to understand its implications and repercussions. From its impact on society to its influence on popular culture, Module:SDcat has proven to be a topic of interest and relevance to a wide range of people. Throughout this article, we will explore different aspects of Module:SDcat and discuss its importance in today's world. We hope this article gives you a more complete understanding of Module:SDcat and its effects in our reality.
| This Lua module is used on approximately 6,540,000 pages, or roughly 10% of all pages. To avoid major disruption and server load, any changes should be tested in the module's /sandbox or /testcases subpages, or in your own module sandbox. The tested changes can be added to this page in a single edit. Consider discussing changes on the talk page before implementing them. |
| This module can only be edited by administrators because it is transcluded onto one or more cascade-protected pages. |
Module to check whether local short description matches that on Wikidata
setCat has the qid of a Wikidata entity passed as |qid= (it defaults to the associated qid of the current article if omitted) and the local short description passed as |sd= It returns a category if there is an associated Wikidata entity.
It returns one of the following tracking categories, as appropriate:
For testing purposes, a link prefix |lp= may be set to ":" to make the categories visible.
{{SDcat |sd={{{shortdescription|}}} }}{{#invoke:SDcat |setCat |sd={{{shortdescription|}}} }}Template:SDcat is a wrapper for this module.
sdcat = require("Module:SDcat")._setCatlocal tracking_cat = sdcat(shortdesc, itemID){{#invoke:SDcat |setCat |qid={{get QID|Douglas Adams}}|sd=English author and humorist (1952–2001) |lp=":"}}
A few examples of tests are at Module talk:SDcat
--[[
SDcat
Module to check whether local short description matches that on Wikidata
--]]
local p = {}
-------------------------------------------------------------------------------
--[[
setCat has the qid of a Wikidata entity passed as |qid=
(it defaults to the associated qid of the current article if omitted)
and the local short description passed as |sd=
It returns a category if there is an associated Wikidata entity.
It returns one of the following tracking categories, as appropriate:
* Category:Short description matches Wikidata (case-insensitive)
* Category:Short description is different from Wikidata
* Category:Short description with empty Wikidata description
For testing purposes, a link prefix |lp= may be set to ":" to make the categories visible.
--]]
-- function exported for use in other modules
-- (local short description, Wikidata entity-ID, link prefix)
p._setCat = function(sdesc, itemID, lp)
if not mw.wikibase then return nil end
if itemID == "" then itemID = nil end
-- Wikidata description field
local wdesc = (mw.wikibase.getDescription(itemID) or ""):lower()
if wdesc == "" then
return "]"
elseif wdesc == sdesc then
return "]"
else
return "]"
end
end
-- function exported for call from #invoke
p.setCat = function(frame)
local args
if frame.args.sd then
args = frame.args
else
args = frame:getParent().args
end
-- local short description
local sdesc = mw.text.trim(args.sd or ""):lower()
-- Wikidata entity-ID
local itemID = mw.text.trim(args.qid or "")
-- link prefix, strip quotes
local lp = mw.text.trim(args.lp or ""):gsub('"', '')
return p._setCat(sdesc, itemID, lp)
end
return p