Модуль:Testing: различия между версиями

Материал из Space Station 14 Вики
Нет описания правки
Нет описания правки
 
(не показаны 3 промежуточные версии этого же участника)
Строка 1: Строка 1:
local p = {}
local p = {}
function p.getServersInfo(frame)
local servers = frame.args[1]
local categories = servers
if servers == "none" or servers == "None" or servers == "" then return end
--Дублируется специально, на случай, если кто-то поставит или не поставит побелы
servers = servers:gsub(', ', '}}\n:*{{abb|')
servers = servers:gsub(',', '}}\n:*{{abb|')
categories = categories:gsub(', ', '|short}}]] [[Категория:Редакторы {{abb|')
categories = categories:gsub(',', '|short}}]] [[Категория:Редакторы {{abb|')
return frame:preprocess(':*{{abb|'.. servers.. '}} '.. '[[Категория:Редакторы {{abb|'.. categories.. '|short}}]]') --нужно сделать проверку, что сервер существует
end


-- Функция для привязки категорий на основе входных данных
function p.getSubdivisionsInfo(frame)
function p.bindCategories(frame)
local r
    local department = frame.args[1] or "Не указано"
subdivisions = frame.args[1]
    local role = frame.args[2] or "Не указано"
 
--Делим строку на составляющие. Разделитель: ", "
    -- Определите ваши категории на основе входных данных
t = {}
    local departmentCategory = "Категория:" .. department
for str in string.gmatch(subdivisions, "([^, ]+)") do
    local roleCategory = "Категория:" .. role
table.insert(t, str)
end
--Убирает ", ", если они были для последующем проверки (чтобы она не нашла запятых)
subdivisions = subdivisions:gsub(', ', 'Cool meme here')
--вторая проверка, на случай, если пробелы не ставились
for str in string.gmatch(subdivisions, "([^,]+)") do
table.insert(t, str)
end
local categories = ""
for i in pairs(t) do
if t[i] == "МОГ Набег" or t[i] == "МОГ набег" then categories = categories.. "[[Категория:МОГ 'Набег']]" end
if t[i] == "Пиксель-арт" or t[i] == "пиксель-арт" then categories = categories.. "[[Категория:Пиксель-арт]]" end
if t[i] == "Редакция" or t[i] == "редакция" then categories = categories.. "[[Категория:Редакция]]" end
if t[i] == "Скрин" or t[i] == "скрин" then categories = categories.. "[[Категория:Скрин]]" end
end
if categories == "" then categories = categories.. "[[Категория:Без подразделения]]" end
if subdivisions == "none" or subdivisions == "None" then return ""
else return frame:preprocess(categories) end
end


    -- Формируем вывод
function p.getRolesInfo(frame)
    local output = string.format("[[%s]]\n[[%s]]", departmentCategory, roleCategory)
local roles = frame.args[1]
   
    return output
--Делим строку на составляющие. Разделитель: ", "
t = {}
for str in string.gmatch(roles, "([^, ]+)") do
table.insert(t, str)
end
--Убирает ", ", если они были для последующем проверки (чтобы она не нашла запятых)
roles = roles:gsub(', ', 'Cool meme here')
--вторая проверка, на случай, если пробелы не ставились
for str in string.gmatch(roles, "([^,]+)") do
table.insert(t, str)
end
local categories = ""
for i in pairs(t) do
if t[i] == "Оперативник" or t[i] == "оперативник" then categories = categories.. "[[Категория:МОГ 'Набег']]" end
if t[i] == "Художник" or t[i] == "художник" then categories = categories.. "[[Категория:Пиксель-арт]]" end
if t[i] == "Фотограф" or t[i] == "фотограф" then categories = categories.. "[[Категория:Скрин]]" end
if t[i] == "Всевышнее Око" or t[i] == "всевышнее око" then categories = categories.. "[[Категория:Всевышнее Око]]" end
if t[i] == "Инструктор Редакции" or t[i] == "инструктор редакции" then categories = categories.. "[[Категория:Инструкторы Редакции]]" end
if t[i] == "Шаблонайзер" or t[i] == "шаблонайзер" then categories = categories.. "[[Категория:Шаблонайзеры]]" end
if t[i] == "Стилист" or t[i] == "стилист" then categories = categories.. "[[Категория:Стилисты]]" end
if t[i] == "Манускриптер" or t[i] == "манускриптер" then categories = categories.. "[[Категория:Манускрипт]]" end
if t[i] == "Модульник" or t[i] == "модульник" then categories = categories.. "[[Категория:Модульники]]" end
if t[i] == "Куратор Вики" or t[i] == "куратор вики" then categories = categories.. "[[Категория:Кураторы разделов]]" end
end
if categories == "" then categories = categories.. "[[Категория:Доступ к вики]]" end
if roles == "none" or roles == "None" then return ""
else return frame:preprocess(categories) end
end
end
return p

Текущая версия от 15:57, 11 августа 2024

Для документации этого модуля может быть создана страница Модуль:Testing/doc

local p = {}
function p.getServersInfo(frame)
	local servers = frame.args[1]
	local categories = servers
	if servers == "none" or servers == "None" or servers == "" then return end
	
	--Дублируется специально, на случай, если кто-то поставит или не поставит побелы
	servers = servers:gsub(', ', '}}\n:*{{abb|')
	servers = servers:gsub(',', '}}\n:*{{abb|')
	categories = categories:gsub(', ', '|short}}]] [[Категория:Редакторы {{abb|')
	categories = categories:gsub(',', '|short}}]] [[Категория:Редакторы {{abb|')
	
	return frame:preprocess(':*{{abb|'.. servers.. '}} '.. '[[Категория:Редакторы {{abb|'.. categories.. '|short}}]]') --нужно сделать проверку, что сервер существует
end

function p.getSubdivisionsInfo(frame)
	local r
	subdivisions = frame.args[1]
	
	--Делим строку на составляющие. Разделитель: ", "
	t = {}
	for str in string.gmatch(subdivisions, "([^, ]+)") do
		table.insert(t, str)
	end
	--Убирает ", ", если они были для последующем проверки (чтобы она не нашла запятых)
	subdivisions = subdivisions:gsub(', ', 'Cool meme here')
	
	--вторая проверка, на случай, если пробелы не ставились
	for str in string.gmatch(subdivisions, "([^,]+)") do
		table.insert(t, str)
	end
	
	local categories = ""
	for i in pairs(t) do
		if t[i] == "МОГ Набег" or t[i] == "МОГ набег" then categories = categories.. "[[Категория:МОГ 'Набег']]" end
		if t[i] == "Пиксель-арт" or t[i] == "пиксель-арт" then categories = categories.. "[[Категория:Пиксель-арт]]" end
		if t[i] == "Редакция" or t[i] == "редакция" then categories = categories.. "[[Категория:Редакция]]" end
		if t[i] == "Скрин" or t[i] == "скрин" then categories = categories.. "[[Категория:Скрин]]" end
	end
	if categories == "" then categories = categories.. "[[Категория:Без подразделения]]" end 
	if subdivisions == "none" or subdivisions == "None" then return "" 
	else return frame:preprocess(categories) end
end

function p.getRolesInfo(frame)
	local roles = frame.args[1]
	
	--Делим строку на составляющие. Разделитель: ", "
	t = {}
	for str in string.gmatch(roles, "([^, ]+)") do
		table.insert(t, str)
	end
	--Убирает ", ", если они были для последующем проверки (чтобы она не нашла запятых)
	roles = roles:gsub(', ', 'Cool meme here')
	
	--вторая проверка, на случай, если пробелы не ставились
	for str in string.gmatch(roles, "([^,]+)") do
		table.insert(t, str)
	end
	
	local categories = ""
	for i in pairs(t) do
		if t[i] == "Оперативник" or t[i] == "оперативник" then categories = categories.. "[[Категория:МОГ 'Набег']]" end
		if t[i] == "Художник" or t[i] == "художник" then categories = categories.. "[[Категория:Пиксель-арт]]" end
		if t[i] == "Фотограф" or t[i] == "фотограф" then categories = categories.. "[[Категория:Скрин]]" end
		if t[i] == "Всевышнее Око" or t[i] == "всевышнее око" then categories = categories.. "[[Категория:Всевышнее Око]]" end
		if t[i] == "Инструктор Редакции" or t[i] == "инструктор редакции" then categories = categories.. "[[Категория:Инструкторы Редакции]]" end
		if t[i] == "Шаблонайзер" or t[i] == "шаблонайзер" then categories = categories.. "[[Категория:Шаблонайзеры]]" end
		if t[i] == "Стилист" or t[i] == "стилист" then categories = categories.. "[[Категория:Стилисты]]" end
		if t[i] == "Манускриптер" or t[i] == "манускриптер" then categories = categories.. "[[Категория:Манускрипт]]" end
		if t[i] == "Модульник" or t[i] == "модульник" then categories = categories.. "[[Категория:Модульники]]" end
		if t[i] == "Куратор Вики" or t[i] == "куратор вики" then categories = categories.. "[[Категория:Кураторы разделов]]" end
	end
	if categories == "" then categories = categories.. "[[Категория:Доступ к вики]]" end 
	if roles == "none" or roles == "None" then return "" 
	else return frame:preprocess(categories) end
end
return p