Модуль:Сущность/поля: различия между версиями

мНет описания правки
мНет описания правки
Строка 24: Строка 24:
             local base, rem = split_first_underscore(k)
             local base, rem = split_first_underscore(k)
             if base and rem then
             if base and rem then
                 local label = strip_trailing_digits(rem)
                 local label = trim(strip_trailing_digits(rem))
                label = trim(label)
                 if label ~= '' then
                 if label ~= '' then
                     meta[base] = meta[base] or {}
                     meta[base] = meta[base] or {}
Строка 40: Строка 39:
     for k, v in pairs(args) do
     for k, v in pairs(args) do
         if type(k) == 'string' and not k:find('_', 1, true) then
         if type(k) == 'string' and not k:find('_', 1, true) then
             local key = trim(k)
             meta[k] = tostring(v)
            if key ~= '' then
                if v ~= nil and tostring(v) ~= '' then
                    meta[key] = meta[key] or {}
                    if not seen[key] then seen[key] = {} end
                    local sval = tostring(v)
                    if not seen[key][sval] then
                        table.insert(meta[key], sval)
                        seen[key][sval] = true
                    end
                end
            end
         end
         end
     end
     end