Амодуль:SDcat
Внешний вид
Для документации этого модуля может быть создана страница Амодуль:SDcat/doc
--[[
SDcat
Аҭыԥантәи ахҳәаа кьаҿ Викидата аҟны иҟоу иақәшәо-иақәымшәо агәаҭаразы амодуль
--]]
local p = {}
-------------------------------------------------------------------------------
--[[
setCat иамоуп qid Викидата ахаҭара ииасуеит |qid=
(иааныжьзар уажәтәи астатиа иадҳәалоу қьид ахь иҟоуп)
насгьы аҭыԥантәи ахҳәаа кьаҿ ииасит |sd=
Уи акатегориа шьҭнахуеит, иадҳәалоу Викидата ыҟазар.
Иара иаҳнаҭоит ашьҭаҵаратә категориақәа руак, иахәҭоу ала:
* Акатегориа:Ахҳәаа кьаҿ Викидыррақәа ирықәшәоит (реиҳау еилымкаауа)
* Акатегории:Ахҳәаа кьаҿ Викидыррақәа иреиԥшым
* Акатегории:Ахҳәаа кьаҿ иҭацәу Викидата ахҳәаа ацны
Аԥышәара азы, азхьарԥш аԥхьарба |lp= еиқәыршәазар ҟалоит ":" акатегориақәа
рбарҭахарц азы.
--]]
-- афункциа егьырҭ амодульқәа рҿы ахархәаразы аекспорт азууп
-- (аҭыԥантәи ахҳәаа кьаҿ, Авикидыррақәа ахаҭара-ID, азхьарԥш аԥхьарба)
p._setCat = function(sdesc, itemID, lp)
if not mw.wikibase then return nil end
if itemID == "" then itemID = nil end
-- Авикидыррақәа рыхҳәаа аҭыԥ
local wdesc = (mw.wikibase.getDescription(itemID) or ""):lower()
if wdesc == "" then
return "[[" .. lp .. "Акатегориа:Ахҳәаа кьаҿ иҭацәу Викидыррақәа рыхҳәаа ацны]]"
elseif wdesc == sdesc then
return "[[" .. lp .. "Акатегориа:Ахҳәаа кьаҿ Авикидыррақәа ирықәшәоит]]"
else
return "[[" .. lp .. "Акатегориа:Ахҳәаа кьаҿ Викидыррақәа иреиԥшым]]"
end
end
-- #invoke аҟынтәи ааԥхьаразы афункциа аекспорт ҟаҵоуп
p.setCat = function(frame)
local args
if frame.args.sd then
args = frame.args
else
args = frame:getParent().args
end
-- Аҭыԥантәи ахҳәаа кьаҿ
local sdesc = mw.text.trim(args.sd or ""):lower()
-- Авикидыррақәа ахаҭара-ID
local itemID = mw.text.trim(args.qid or "")
-- азхьарԥш аԥхьарба, ацәаҳәа ацәаҳәақәа
local lp = mw.text.trim(args.lp or ""):gsub('"', '')
return p._setCat(sdesc, itemID, lp)
end
return p