ماڈیول:WikidataCommonscat
دستاویز [تخلیق]
شاید آپ اس اسکریبنٹو ماڈیول کا دستاویزی صفحہ تخلیق کرنا چاہتے ہیں۔ صارفین ماڈیول کے تختہ مشق (تخلیق | آئینہ) اور ثابتات (تخلیق) میں تجربات کرسکتے ہیں۔ براہ کرم /دستاویز کے ذیلی صفحہ پر زمرہ جات شامل فرمائیں۔ اس ماڈیول کے ذیلی صفحات۔ |
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
local catbase = config.category
local namespaces = config.namespaces
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 "Using of template Commonscat in the namespace in which you have clicked to the link that lead you here is not allowed (only allowed namespaces are 0, 6, 14, and 100)."
end
local entity = mw.wikibase.getEntityObject()
if not entity then -- no Wikidata item
return "not in Wikidata"
end
local claims = entity.claims or {}
local hasProp = claims[property]
if not hasProp then -- no claim of that property
return "not in Wikidata" -- bad. Bot needs to add the property
end
local propValue = hasProp[1].mainsnak.datavalue.value -- This should eventually iterate over all possible values?
if propValue == value then
return value -- yay!
else
return propValue -- needs human review :(
end
end
return p