Модуль:Тест: различия между версиями
Перейти к навигации
Перейти к поиску
StasR (обсуждение | вклад) Нет описания правки |
StasR (обсуждение | вклад) Нет описания правки |
||
Строка 5: | Строка 5: | ||
function p.Titi( frame ) | function p.Titi( frame ) | ||
return frame:getParent():getTitle().text .. '///' .. mw.title.new(frame:getParent():getTitle(), '') .text | return (frame:getParent():getTitle().text or '-') .. '///' .. ( mw.title.new(frame:getParent():getTitle(), '') .text or '-') | ||
end | end | ||
Версия от 20:00, 21 января 2018
Для документации этого модуля может быть создана страница Модуль:Тест/doc
local p = {}
local global = mw.ext.luaglobal;
local cargo = mw.ext.cargo;
function p.Titi( frame )
return (frame:getParent():getTitle().text or '-') .. '///' .. ( mw.title.new(frame:getParent():getTitle(), '') .text or '-')
end
local ranks = require( 'Модуль:Звания' )
function p.RanksEnum( frame )
out = {}
for rank, rankv in pairs( ranks ) do
if not rankv.redirect then
if rankv.diap then
diap = rankv.diap
else
diap = { { '1901-01-01', '' } }
end
diap[#diap+1] = { '2222-01-01', '' }
for da, va in ipairs( diap ) do
if da == #diap then
break
end
query = frame:callParserFunction{ name = '#cargo_query', args = { '',
tables = 'ranks_journal',
where = 'rank="' .. rank .. '" AND rankDate >= "' .. va[1] .. '" AND rankDate < "' .. diap[da+1][1] .. '"',
-- fields = 'tdistinct, rankDate, _pageName, reference, cancel, rank, oldRank',
fields = 'COUNT(person)=rCounter',
['group_by'] = 'person',
format = 'native',
} }
query = mw.ext.cargo.get()
if query and query[1].rCounter ~= '0' then
out[#out+1] = rank .. va[2] .. ': ' .. query[1].rCounter
end
end
end
end
return table.concat( out, '\n\n' )
end
function p.checkOffset( frame )
query = frame:callParserFunction{ name = '#cargo_query', args = { '',
tables = 'ranks_journal',
where = 'rank="сержант ГБ"',
-- fields = 'tdistinct, rankDate, _pageName, reference, cancel, rank, oldRank',
fields = 'person',
['group_by'] = 'person',
['order_by'] = 'person',
limit = 200000,
format = 'native',
} }
query = mw.ext.cargo.get()
if query then
out = query[5000]['person'] .. ' # ' .. #query
else
out = 'ooops'
end
return out
end
function p.Main(frame)
zz = cargo.get()
xx={ ['12']='str', [12]='int'}
global.set('types', xx)
yy = global.get('types')
a, b = pcall( mw.ustring.match, 'увол. по ст.38В вовсе с исключением с учета', '^увол%. ?по ст%. ?(%d%d[АБВГД]?) вовсе с исключением с учета$' )
c, d = pcall( ustring.match, 'увол. по ст.38В вовсе с исключением с учета', '^увол%. ?по ст%. ?(%d%d[АБВГД]?) вовсе с исключением с учета$' )
return (tostring(a) or '(-)') .. ' ' .. (b or '(-)') .. ' ' .. (tostring(c) or '(-)') .. ' ' .. (d or '(-)')
end
p[''] = function (frame)
return '2222222'
end
return p