Модул:Infobox — разлика између измена
Пређи на навигацију
Пређи на претрагу
(Test) |
м (Autokategorizacija po semestru) |
||
Ред 1: | Ред 1: | ||
local p = {} | local p = {} | ||
function | local data = mw.loadData('Module:Infobox/data') | ||
local function cat(cats, name) | |||
table.insert(cats, '[[Категорија:') | |||
table.insert(cats, name) | |||
table.insert(cats, ']]') | |||
end | |||
local function catSemester(cats, arg) | |||
local semester = tonumber(mw.ustring.match(arg, '%d+')) | |||
local matchSI = mw.string.match(arg, '%d+ %(СИ%)') | |||
local matchRTI = mw.string.match(arg, '(%d+) %(РТИ%)') | |||
if (not matchRTI) or matchSI then | |||
cat(cats, data.semesters[semester] .. ' семестар') | |||
end | |||
if matchRTI then | |||
cat(cats, data.semesters[tonumber(matchRTI)] .. ' семестар') | |||
end | |||
end | |||
function p.main(frame) | |||
local cats = {} | |||
local args = frame:getParent().args | |||
catSemester(cats, args['семестар']) | |||
return table.concat(cats) | |||
end | end | ||
return p | return p |
Верзија на датум 19. фебруар 2022. у 23:23
Модул за аутокатегоризацију на основу података прослеђених у инфокутију за предмет. Овај модул такође довлачи потребне податке за рад из модула са подацима.
local p = {}
local data = mw.loadData('Module:Infobox/data')
local function cat(cats, name)
table.insert(cats, '[[Категорија:')
table.insert(cats, name)
table.insert(cats, ']]')
end
local function catSemester(cats, arg)
local semester = tonumber(mw.ustring.match(arg, '%d+'))
local matchSI = mw.string.match(arg, '%d+ %(СИ%)')
local matchRTI = mw.string.match(arg, '(%d+) %(РТИ%)')
if (not matchRTI) or matchSI then
cat(cats, data.semesters[semester] .. ' семестар')
end
if matchRTI then
cat(cats, data.semesters[tonumber(matchRTI)] .. ' семестар')
end
end
function p.main(frame)
local cats = {}
local args = frame:getParent().args
catSemester(cats, args['семестар'])
return table.concat(cats)
end
return p