Изменения
Перейти к навигации
Перейти к поиску
Строка 161:
Строка 161:
− +
− local ru_page_exists+
− local ru_page_isRedirect+
− if ru_page then+
− ru_page_exists = ru_page.exists+
− ru_page_isRedirect = ru_page.isRedirect+
− else -- после 500 вызова или если в названии есть некорректные символы+
− ru_page_exists = false+
− ru_page_isRedirect = false+
+
+
+
+
+
+
+
+
+
− local leave = ru_page_exists and not leave_always and not (ru_page_isRedirect and leave_if_redirect)
Строка 185:
Строка 193:
− +
− end +
− if leave then+
− if mode == 5 and ru_page_isRedirect then
− table.insert(categories_list, 'redirect')
− else
− table.insert(categories_list, 'outdated')
− end
Строка 207:
Строка 210:
− +
− +
− +
Строка 223:
Строка 226:
− +
Строка 242:
Строка 245:
− +
Строка 305:
Строка 308:
− +
− +
Строка 317:
Строка 320:
− +
если задано |l=1, то не проверять существование и перенаправление, потому что дорого
-- получение страницы, чтобы знать, существует ли она и является ли она перенаправлением
-- получение страницы, чтобы знать, существует ли она и является ли она перенаправлением
local ru_page = getTitle(title) -- дорогая функция, после 500 вызова крашится
local considerAsExists
local isRedirect
local considerAsRedirect
if leave_always then -- если задано |l=1, то ничего не проверять, потому что дорого
considerAsExists = false
isRedirect = false
considerAsRedirect = false
else
local titleObject = getTitle(title) -- дорогая функция, после 500 вызова крашится
if titleObject then
considerAsExists = titleObject.exists
isRedirect = titleObject.isRedirect
considerAsRedirect = isRedirect and not leave_if_redirect
else -- после 500 вызова или если в названии есть некорректные символы
considerAsExists = false
isRedirect = false
considerAsRedirect = false
end
end
end
-- проверка правильности обработанных параметров
-- проверка правильности обработанных параметров
end
end
if ru_page_isRedirect and leave_if_redirect then -- TODO: почему не на все перенаправления?
if mode == 5 and considerAsRedirect then
table.insert(categories_list, 'redirect')
table.insert(categories_list, 'redirect')
elseif considerAsExists then
table.insert(categories_list, 'outdated')
end
end
-- формирование первой части - основной ссылки
-- формирование первой части - основной ссылки
local main_text
local main_text
if leave or mode == 1 or mode == 2 or mode == 5 then
if considerAsExists or mode == 1 or mode == 2 or mode == 5 then
if lang == 'd' and not ru_page_exists then
if lang == 'd' and not considerAsExists then
local moduleRedLink = require( 'Module:Wikidata/redLink' )
local moduleRedLink = require( 'Module:Wikidata/redLink' )
main_text = moduleRedLink.formatRedLink(title, text, iw_title)
main_text = moduleRedLink.formatRedLink(title, text, iw_title)
else
else
main_text = wikilink(title, text, nil, nil, nil, ru_page_isRedirect)
main_text = wikilink(title, text, nil, nil, nil, isRedirect)
end
end
else
else
-- формирование второй части - языковой метки
-- формирование второй части - языковой метки
local post_text = ''
local post_text = ''
if not leave or mode == 2 or (mode == 5 and ru_page_isRedirect) then
if not (considerAsExists and not (isRedirect and leave_if_redirect)) or mode == 2 or (mode == 5 and considerAsRedirect) then
-- для шаблона "не переведено"
-- для шаблона "не переведено"
if mode == 1 then
if mode == 1 then
elseif mode == 2 then
elseif mode == 2 then
local iw_link = ''
local iw_link = ''
if leave then
if considerAsExists then
iw_link = frame:expandTemplate{ title = 'lang-' .. lang, args = { iw_text } }
iw_link = frame:expandTemplate{ title = 'lang-' .. lang, args = { iw_text } }
else
else
-- формирование третьей части - уведомления о существовании страницы
-- формирование третьей части - уведомления о существовании страницы
local exist_message = ''
local exist_message = ''
if leave then
if considerAsExists and not (isRedirect and leave_if_redirect) then
local exist_message_link
local exist_message_link
if mode == 5 then
if mode == 5 then
if ru_page_isRedirect then
if considerAsRedirect then
exist_message_link = 'Шаблон:' .. template_name .. '#Если существует перенаправление'
exist_message_link = 'Шаблон:' .. template_name .. '#Если существует перенаправление'
else
else
end
end
if mode == 5 and ru_page_isRedirect then
if mode == 5 and considerAsRedirect then
exist_message = string.format(
exist_message = string.format(
'<sup class="noprint" style="margin:0 0 0 1px;">%s</sup>',
'<sup class="noprint" style="margin:0 0 0 1px;">%s</sup>',