Модуль:HF/Infobox/Seasons

Материал из Викимультии — энциклопедии мультипликации
Перейти к навигации Перейти к поиску


Документация
local Infobox = {}
-------------------------------------
-- Библиотеки и глобальные функции --
-------------------------------------
-- обозначает высокочастотный
local HF = require('Module:HF')
-- Анализирует параметры вызова и шаблона, удаляет пробелы и удаляет пробелы.
local getArgs = require('Module:Arguments').getArgs
-- Функции MediaNav
local MN = require('Module:HF/MediaNavs')._MediaNav
-- Вспомогательные функции (локальные, чтобы не беспокоиться о пространствах имен)
local mediaDebutList = require('Module:HF/Infobox').mediaDebutList
-- Шаблон Константы
local stripLinkToTarget = '^%[*([^%[|]*)|?'
-- Заголовок любой страницы, вызывающей функцию
local pageTitle = mw.title.getCurrentTitle().text
---------------------------------------------------------
-- Открытые функции (вызываются из шаблона или статьи) --Сезоны мультсериала «{{{мультсериал|}}}»
---------------------------------------------------------
function Infobox.titleSeasons(frame)
	local args = getArgs(frame)
	local out = {}
	if mw.title.getCurrentTitle().isContentPage == true then
		table.insert( out, HF.Category('Сезоны мультсериалов по алфавиту') )
		table.insert( out, pageTitle )
		
		mw.smw.set { ['Название'] = pageTitle:gsub(''',"'") }
		return table.concat( out ) .. ( args['ref'] or '' )
	elseif mw.title.getCurrentTitle().namespace == 10
		and not pageTitle:match('/testcases') then
			--return nil
			return args['название']
	else
		return args['название']
	end
end
-- Предыдущий сезон
function Infobox.seasonPrevious (frame)
	local args = getArgs(frame)
	local Items = args['мультсериал']
	local Nums = args['номер сезона']
	
	local previous =
		MN {
			'сезон мультсериала', Nums, '-1',
			Items, Number
		}
	return previous and ('%s'):format( previous ) or nil
end
-- Текущий сезон
function Infobox.seasonNumber (frame)
	local args = getArgs(frame)
	if args['номер сезона'] then
		mw.smw.set { ['Сезон номер'] = args['номер сезона'] }
		return args['номер сезона']
	end
end
-- Следующий сезон
function Infobox.seasonNext (frame)
	local args = getArgs(frame)
	local nextseason =
		MN {
			'сезон мультсериала', args['номер сезона'], '1',
			args['мультсериал'], Number
		}
	return nextseason and ('%s'):format( nextseason ) or nil
end
-------------------------------------------------------------------
-- Экспортируемые функции (используются в этом и других модулях) --
-------------------------------------------------------------------
-- Нет.
-------------------------------------------------
-- Вывод (отправьте его обратно как угодно) --
-------------------------------------------------
return Infobox