Module:SDcat: Difference between revisions
Jump to navigation
Jump to search
m 1 revision imported |
mNo edit summary |
||
Line 20: | Line 20: | ||
-- function exported for use in other modules | -- function exported for use in other modules | ||
-- function exported for call from #invoke | -- function exported for call from #invoke |
Revision as of 04:17, 6 July 2023
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:
- 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.
Usage
- From within a template
{{SDcat |sd={{{shortdescription|}}} }}
- or
{{#invoke:SDcat |setCat |sd={{{shortdescription|}}} }}
Template:SDcat is a wrapper for this module.
- From another module
sdcat = require("Module:SDcat")._setCat
local tracking_cat = sdcat(shortdesc, itemID)
For testing
{{#invoke:SDcat |setCat |qid=Q42 |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
-- 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