Модул:Infobox — разлика између измена
Пређи на навигацију
Пређи на претрагу
м (Primeni kategoriju za RTI i kada nije specifikovan nijedan odsek) |
м (string -> ustring) |
||
Ред 11: | Ред 11: | ||
local function catSemester(cats, arg) | local function catSemester(cats, arg) | ||
local semester = tonumber(mw.ustring.match(arg, '%d+')) | local semester = tonumber(mw.ustring.match(arg, '%d+')) | ||
local matchSI = mw. | local matchSI = mw.ustring.match(arg, '%d+ %(СИ%)') | ||
local matchRTI = mw. | local matchRTI = mw.ustring.match(arg, '(%d+) %(РТИ%)') | ||
if (not matchRTI) or matchSI then | if (not matchRTI) or matchSI then | ||
cat(cats, data.semesters[semester] .. ' семестар') | cat(cats, data.semesters[semester] .. ' семестар') |
Верзија на датум 19. фебруар 2022. у 23:26
Модул за аутокатегоризацију на основу података прослеђених у инфокутију за предмет. Овај модул такође довлачи потребне податке за рад из модула са подацима.
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.ustring.match(arg, '%d+ %(СИ%)')
local matchRTI = mw.ustring.match(arg, '(%d+) %(РТИ%)')
if (not matchRTI) or matchSI then
cat(cats, data.semesters[semester] .. ' семестар')
end
if (not matchSI) or 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