24.979
Bearbeitungen
(linkFormDateAttrList() string check) |
(linkFormDateAttrList() Modul:SMW geändert; + date nil check) |
||
| Zeile 69: | Zeile 69: | ||
-- attr_list={}; print(p.linkFormDateAttrList{date="2026/02", attr_list=attr_list, attr_date="Datum", attr_day="Tag", attr_year="Jahr"}); mw.logObject(attr_list) | -- attr_list={}; print(p.linkFormDateAttrList{date="2026/02", attr_list=attr_list, attr_date="Datum", attr_day="Tag", attr_year="Jahr"}); mw.logObject(attr_list) | ||
local t = "" | local t = "" | ||
if args.date ~= nil then | |||
-- date zerteilen | |||
local date_array | |||
if string.find(args.date, "/") ~= nil then -- regular case YYYY/MM/DD | |||
date_array = str.split(args.date, "/") | |||
else -- ISO-P case YYYY-MM-DD | |||
date_array = str.split(args.date, "-") | |||
end | |||
-- Fälle unterscheiden | |||
local day, month, year | |||
if com.isEmpty(date_array[2]) then -- "2026" oder "April 2026" | |||
-- When datestring contained no "/" => only year | |||
if com.isInteger(date_array[1]) then | |||
-- When dateformat is just YYYY | |||
year = date_array[1] | |||
t = "[[" .. year .. "]]" | |||
else | |||
-- Dateformat is <monthname> YYYY | |||
local mda = str.split(date_array[1]) | |||
year = mda[2] | |||
t = mda[1] .. " [[" .. year .. "]]" | |||
end | |||
elseif com.isEmpty(date_array[3]) then -- "2026/02" | |||
-- Datestring contained one "/" | |||
month = kal.month_names[tonumber(date_array[2])] | |||
year = date_array[1] | |||
t = month .. " [[" .. year .. "]]" | |||
else | |||
-- Dateformat should be YYYY/MM/DD or YYYY-MM-DD | |||
month = kal.month_names[tonumber(date_array[2])] | |||
date_array[3] = date_array[3]:gsub('0*', '', 1) | |||
day = date_array[3] .. ". " .. month | |||
year = date_array[1] | |||
t = "[[" .. day .. "]]" .. " [[" .. year .. "]]" | |||
end | |||
-- Werte in Attributeliste eintragen. Bei nil wird nix eingetragen | |||
smw.addAttrToList(args.attr_list, args.attr_date, args.date) | |||
smw.addAttrToList(args.attr_list, args.attr_date .. "Lfd", t) | smw.addAttrToList(args.attr_list, args.attr_date .. "Lfd", t) | ||
smw.addAttrToList(args.attr_list, args.attr_day, day) | |||
smw.addAttrToList(args.attr_list, args.attr_year, year) | smw.addAttrToList(args.attr_list, args.attr_year, year) | ||
end | end -- if args.date ~= nil then | ||
return t | return t | ||
end | end | ||