Modulo:WikidataCheck/pagipadasan
Appearance
Daytoy ket isu ti panid a pagipadasan ti modulo para iti Modulo:WikidataCheck (dip). |
Dokumentasion ti modulo
Ti sumaganad ket ti dokumentasion para iti Plantilia:WikidataCheck. |
Daytoy a plantilia ket mangipalubos a mangiyasping iti parametro ti plantilia iti tagikua iti Wikidata. Daytoy ket pinaadar babaen timodulo ti Lua iti Modulo:WikidataCheck.
Mabalinmo a tawagan iti: {{WikidataCheck|property=P###|value={{{value|}}}|category=Category prefix|namespaces=0,14}}
- Ti
|property=
ket ti P### iti tagikua. Nasken a dakkel a letra ti "P". - Ti
|value=
ket ti pateg a mausar manipud iti plantilia. Daytoy ket kasla iti{{{id|}}}
- Ti
|category=
ket ti pasakbay a mausar iti sanguanan dagiti nagan ti katagoria. Dagiti kategoria a mapartuat ket "[prefix] Awanan iti Wikidata ti", "[prefix] Agpada a kas iti Wikidata ti Wikidata", ekn "[prefix] Sabali manipud iti Wikidata ti".- Maisingasing a partuaten dagitoy a kategoria iti
{{nailemmeng a kategoria}}
sakbay nga ipakat daytoy a plantilia.
- Maisingasing a partuaten dagitoy a kategoria iti
- Ti
|namespaces=
ket listaan nga isina babaen ti kaw-it kadagiti numerikal a nagan ti espasio a pakaipakatan ti plantilia. Ti kasisigud ket 0, ti espasio ti artikulo.
- Pagarigan
Para iti {{MusicBrainz artist}}
, ti sumaganad ket isu ti inayon a kodigo:
{{WikidataCheck|property=P343|value={{{mbid|{{{id|{{{1|}}}}}}}}}|category=MusicBrainz artist id|namespaces=0}}
local p = {}
function p.wikidatacheck(frame)
local pframe = frame:getParent()
local config = frame.args -- the arguments passed BY the template, in the wikitext of the template itself
local args = pframe.args -- the arguments passed TO the template, in the wikitext that transcludes the template
local property = config.property
local value = config.value or ""
local catbase = config.category
local namespaces = config.namespaces
local nocatsame = config.nocatsame or ""
local qid = config.qid or ""
local ok = false -- one-way flag to check if we're in a good namespace
local ns = mw.title.getCurrentTitle().namespace
for v in mw.text.gsplit( namespaces, ",", true) do
if tonumber(v) == ns then
ok = true
end
end
if not ok then -- not in one of the approved namespaces
return ""
end
local entity
if qid == "" then
entity = mw.wikibase.getEntityObject()
else
entity = mw.wikibase.getEntityObject(qid)
end
if not entity then -- no Wikidata item
return "[[Kategoria:Awan ti " .. catbase .. " iti Wikidata]]"
end
if value == "" then
return nil -- Using Wikidata
end
local claims = entity.claims or {}
local hasProp = claims[property]
if not hasProp then -- no claim of that property
return "[[Kategoria:Awan ti " .. catbase .. " iti Wikidata]]" -- bad. Bot needs to add the property
end
for i, v in ipairs(hasProp) do -- Now we try to iterate over all possible values?
propValue = (v.mainsnak.datavalue or {}).value
if propValue == value then
if nocatsame == "" then
return "[[Kategoria:Agpada ti " .. catbase .. " kas iti Wikidata]]" -- yay!
else
return nil -- if nocatsame, the "same as" category is not added
end
end
end
return "[[Kategoria:Sabali ti " .. catbase .. " manipud iti Wikidata]]" -- needs human review :(
end
return p