Изменения
дополнение для отладки
Z='+00:00', A='-01:00', M='-12:00', N='+01:00', Y='+12:00',
Z='+00:00', A='-01:00', M='-12:00', N='+01:00', Y='+12:00',
}
}
local category_msg = ""
local category = {
["incomplete_parameters"]=
"<!--[[Категория:Модуль:Calendar:Страницы с неполными или некорректными параметрами]]-->",
["without_verification"]=
"<!--[[Категория:Модуль:Calendar:Страницы без проверки параметров]]-->",
["erroneous_parameters"]=
"<!--[[Категория:Модуль:Calendar:Страницы с ошибочными параметрами]]-->"
}
-- несколько параметров передаются вместе с кодом ошибки в таблице, один может быть передан простым значением
local errors = {
["start"]="<span class=error>Ошибка: ",
["ending"]=".</span>",
["no_pattern_match"]="строка «%s» не совпадает с заданными паттернами",
["no_valid_date"]="дата «%s·%s·%s» не является корректной",
["wrong_jd"]="юлианская дата %s вне диапазона",
["too_many_arguments"]="ожидается менее %i аргументов",
["too_little_arguments"]="ожидается более %i аргументов",
["wrong_calculation"]="даты %s и %s не прошли проверку, %s дней разница",
["unknown_calendar"]="параметр календаря %s неизвестен",
["unknown_error"]="неизвестная ошибка",
["tech_error"]="ошибка в функции %s",
-- [""]="",
}
local tzs_names = {"ACDT","ACST","ACT","ADT","AEDT","AEST","AFT","AKDT","AKST",
local tzs_names = {"ACDT","ACST","ACT","ADT","AEDT","AEST","AFT","AKDT","AKST",
end
end
return table.concat({date.day,month_lang.ru_G[date.month],date.year}," ")
return table.concat({date.day,month_lang.ru_G[date.month],date.year}," ")
end
function p.bxDateTemp( txtDateIn ) -- к отладке
-- заполнение служебных таблиц
filling_months(lang, month_lang)
local status, txtDateOut = {errorCat = "", errorText = ""}, ""
-- парсинг входящей даты по шаблону
local date = parse_date(txtDateIn)
if not (type(date.year) == 'number') then status.errorText = table.concat{
"<span class=error>Не удалось распознать год. Данные: ", unwarp(date),
"; ", txtDateIn ,"</span>"} end
if not (1 <= date.month and date.month <= 12) then status.errorText = table.concat{
"<span class=error>Не удалось распознать месяц. Данные: ", unwarp(date),
"; ", txtDateIn, "</span>"} end
if not date.day then
txtDateOut = month_lang.ru_N[date.month] .. " " .. date.year
elseif not (1 <= date.day and date.day <= month_end_day(date.month,date.year)) then
status.errorText = table.concat{"<span class=error>Не удалось распознать день. Данные: ",
unwarp(date), "; ", txtDateIn, "</span>"} end
-- тут нужна проверка, не было ли ошибок
txtDateOut = table.concat({date.day,month_lang.ru_G[date.month],date.year}," ")
return txtDateOut, date, status
end
end