Jump to content
Wikipedia The Free Encyclopedia

Module:SDcat

From Wikipedia, the free encyclopedia
Module documentation[view] [edit] [history] [purge]
Warning This Lua module is used on approximately 6,500,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:

  • 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={{get QID|Douglas Adams}}|sd=English author and humorist (1952–2001) |lp=":"}}

A few examples of tests are at Module talk:SDcat

The above documentation is transcluded from Module:SDcat/doc. (edit | history)
Editors can experiment in this module's sandbox (edit | diff) and testcases (create) pages.
Subpages of this module.

 --[[
 SDcat
 Module to check whether local short description matches that on Wikidata
 --]]

 localp={}

 -------------------------------------------------------------------------------
 --[[
 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)
 ifnotmw.wikibasethenreturnnilend
 ifitemID==""thenitemID=nilend
 -- Wikidata description field
 localwdesc=(mw.wikibase.getDescription(itemID)or""):lower()
 ifwdesc==""then
 return"[["..lp.."Category:Short description with empty Wikidata description]]"
 elseifwdesc==sdescthen
 return"[["..lp.."Category:Short description matches Wikidata]]"
 else
 return"[["..lp.."Category:Short description is different from Wikidata]]"
 end
 end

 -- function exported for call from #invoke
 p.setCat=function(frame)
 localargs
 ifframe.args.sdthen
 args=frame.args
 else
 args=frame:getParent().args
 end
 -- local short description
 localsdesc=mw.text.trim(args.sdor""):lower()
 -- Wikidata entity-ID
 localitemID=mw.text.trim(args.qidor"")
 -- link prefix, strip quotes
 locallp=mw.text.trim(args.lpor""):gsub('"','')
 returnp._setCat(sdesc,itemID,lp)
 end

 returnp

AltStyle によって変換されたページ (->オリジナル) /