Модуль:Приказы войсковых формирований по видам

Материал из Кадровый состав НКВД 1935-1939
Перейти к навигации Перейти к поиску

Для документации этого модуля может быть создана страница Модуль:Приказы войсковых формирований по видам/doc

local p = {}

local categories = {
	['армии'] = 'общевойсковых армий',
	['ударной армии'] = 'общевойсковых армий',
	['механизированной армии'] = 'танковых и механизированных армий',
	['танковой армии'] = 'танковых и механизированных армий',
	['саперной армии'] = 'саперных армий',
	['воздушной армии'] = 'воздушных и авиационных армий',
	
	['стрелкового корпуса'] = 'стрелковых и горнострелковых корпусов',
	['легкого стрелкового корпуса'] = 'стрелковых и горнострелковых корпусов',
	['горнострелкового корпуса'] = 'стрелковых и горнострелковых корпусов',
	['кавалерийского корпуса'] = 'кавалерийских корпусов',
	['механизированного корпуса'] = 'механизированных корпусов',
	['танкового корпуса'] = 'танковых корпусов',
	['артиллерийского корпуса'] = 'артиллерийских корпусов',
	['артиллерийского корпуса прорыва'] = 'артиллерийских корпусов',
	['бомбардировочного авиакорпуса'] = 'авиационных корпусов',
	['истребительного авиакорпуса'] = 'авиационных корпусов',
	['смешанного авиакорпуса'] = 'авиационных корпусов',
	['штурмового авиакорпуса'] = 'авиационных корпусов',
	['авиационного корпуса дальнего действия'] = 'авиационных корпусов',
	
	['стрелковой дивизии'] = 'стрелковых, мотострелковых и горнострелковых дивизий',
	['горнострелковой дивизии'] = 'стрелковых, мотострелковых и горнострелковых дивизий',
	['мотострелковой дивизии'] = 'стрелковых, мотострелковых и горнострелковых дивизий',
	['воздушно-десантной дивизии'] = 'воздушно-десантных дивизий',
	['кавалерийской дивизии'] = 'кавалерийских дивизий',
	['артиллерийской дивизии'] = 'артиллерийских и минометных дивизий',
	['артиллерийской дивизии прорыва'] = 'артиллерийских и минометных дивизий',
	['зенитной артиллерийской дивизии'] = 'артиллерийских и минометных дивизий',
	['пушечной артиллерийской дивизии'] = 'артиллерийских и минометных дивизий',
	['истребительной дивизии'] = 'артиллерийских и минометных дивизий',
	['минометной дивизии'] = 'артиллерийских и минометных дивизий',
	['авиадивизии'] = 'авиационных дивизий',
	['бомбардировочной авиадивизии'] = 'авиационных дивизий',
	['истребительной авиадивизии'] = 'авиационных дивизий',
	['смешанной авиадивизии'] = 'авиационных дивизий',
	['штурмовой авиадивизии'] = 'авиационных дивизий',
	['дивизии ПВО'] = 'формирований ПВО территории страны',
	
	['стрелковой бригады'] = 'стрелковых и мотострелковых бригад',
	['курсантской стрелковой бригады'] = 'стрелковых и мотострелковых бригад',
	['лыжной бригады'] = 'стрелковых и мотострелковых бригад',
	['мотострелковой бригады'] = 'стрелковых и мотострелковых бригад',
	['морской стрелковой бригады'] = 'стрелковых и мотострелковых бригад',
	['бригады морской пехоты'] = 'стрелковых и мотострелковых бригад',
	['бригады моряков'] = 'стрелковых и мотострелковых бригад',
	['механизированной бригады'] = 'механизированных бригад',
	['танковой бригады'] = 'танковых бригад',
	['артиллерийской бригады'] = 'артиллерийских и минометных бригад',
	['самоходно-артиллерийской бригады'] = 'артиллерийских и минометных бригад',
	['гаубичной артиллерийской бригады'] = 'артиллерийских и минометных бригад',
	['тяжелой гаубичной артиллерийской бригады'] = 'артиллерийских и минометных бригад',
	['гаубичной артиллерийской бригады большой мощности'] = 'артиллерийских и минометных бригад',
	['легкой артиллерийской бригады'] = 'артиллерийских и минометных бригад',
	['пушечной артиллерийской бригады'] = 'артиллерийских и минометных бригад',
	['истребительно-противотанковой артиллерийской бригады'] = 'артиллерийских и минометных бригад',
	['истребительной бригады'] = 'артиллерийских и минометных бригад',
	['минометной бригады'] = 'артиллерийских и минометных бригад',
	['инженерно-саперной бригады'] = 'саперных и инженерных бригад',
	['инженерно-минной бригады'] = 'саперных и инженерных бригад',
	['горной инженерно-саперной бригады'] = 'саперных и инженерных бригад',
	['горной минно-инженерной бригады'] = 'саперных и инженерных бригад',
	['инженерной бригады спецназначения'] = 'саперных и инженерных бригад',
	['мотоинженерной бригады'] = 'саперных и инженерных бригад',
	['штурмовой инженерно-саперной бригады'] = 'саперных и инженерных бригад',
	['мотоштурмовой инженерно-саперной бригады'] = 'саперных и инженерных бригад', -- Переименовывать!
	['моторизованной штурмовой инженерно-саперной бригады'] = 'саперных и инженерных бригад',
	['понтонно-мостовой бригады'] = 'саперных и инженерных бригад',
	['бригады минеров'] = 'саперных и инженерных бригад',
	['железнодорожной бригады'] = 'железнодорожных бригад',
	['автомобильной бригады'] = 'автомобильных бригад',
	
	['стрелкового полка'] = 'частей',
--[[
	[''] = '',
	[''] = '',
	[''] = '',
	[''] = '',
	[''] = '',
	[''] = '',
	[''] = '',
	[''] = '',
	[''] = '',
	[''] = '',
--]]	
}

local unknown = 'Приказы неклассифицированных формирований'

function p.Main( frame )
	local args = frame:getParent().args
	local title = args[1] or mw.title.getCurrentTitle().text
	local numb, guard, class, txt, ctg
	numb, txt = string.match( title, '^Приказы (%d+) (.+)$' )
	if not numb then
		ctg = unknown
	else
		guard, class = string.match( txt, '^(гв%.) (.+)$')
		if guard then
			txt = class
		end
		ctg = args['категория'] or categories[txt]
		if ctg then
			ctg = 'Приказы ' .. ctg
		else
			ctg = unknown
		end
	end
	if numb then
		numb = string.sub( '0000' .. numb, -4, -1 )
	else
		numb = 'zzzz'
	end
	if guard then
		numb = '0' .. numb
	else
		numb = '1' .. numb
	end		
	return '[[Category:' .. ctg .. '|' .. numb .. txt .. ']]'
end

return p