Modulo:Fumetto e animazione/sandbox: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m -
aggiorno funzione
Riga 10:
-- Funzioni di utilità
-- =============================================================================
 
-- Restituisce i valori di una tabella di alias nella configurazione
local function build_reverse_alias(table_name)
local reverse_alias = {}
for alias, name in pairs(cfg['alias_' .. table_name]) do
if not reverse_alias[name] then reverse_alias[name] = {} end
table.insert(reverse_alias[name], alias)
end
return reverse_alias
end
 
-- Restituisce un valore senza eventuale wikilink a inizio stringa
Riga 75 ⟶ 65:
end
return args
end
 
-- Sostituisce le parentesi in una stringa coi corrispondenti codici ascii
local function replace_braces(s)
local new_s = mw.ustring.gsub(s, "%[", "[")
new_s = mw.ustring.gsub(new_s, "%]", "]")
new_s = mw.ustring.gsub(new_s, "%(", "(")
new_s = mw.ustring.gsub(new_s, "%)", ")")
new_s = mw.ustring.gsub(new_s, " ", " ")
return new_s
end
 
Riga 440 ⟶ 420:
function p.tabella_configurazione(frame)
local table_name = frame.args[1]
if not cfg[table_name or table_name == ''] then return end
local reverse_alias = build_reverse_alias(table_name){}
local alias_table_name = table_name:find('genere') and 'genere' or table_name
for alias, name in pairs(cfg['alias_' .. table_namealias_table_name] or {}) do
if not reverse_alias[name] then reverse_alias[name] = {} end
table.insert(reverse_alias[name], alias)
end
local root = mw.html.create('table')
root
Riga 448 ⟶ 433:
:tag('th'):wikitext(table_name):done()
:tag('th'):wikitext('Alias'):done()
:tag('th'):wikitext('CategoriaValore'):done()
for namekey, cat_namevalue in pairs(cfg[table_name]) do
local name_coderesult = table_name == 'genere' and{}
for _, str in ipairs(type(value) == string and { value } or value) do
replace_braces(cat_name[4]) or
if cat ~=not str:find('[[') then
'[[' .. name .. ']]'
str = string.format('[[:Categoria:%s]]', str)
local cat_code = {}
if cat_name[1] then
for i, cat in ipairs(cat_name) do
if i > 3 then break end
cat = cat[1] and
cat[1] .. ']]<br />[[:Categoria:' .. cat[2] or cat
if cat ~= '' then
cat_code[#cat_code+1] = '[[:Categoria:' .. cat .. ']]'
end
end
cat_code = table.concat(cat_code, '<br />')
else
cat_code = '[[:Categoria:' .. cat_name .. ']]'
end
local alias_code = '&nbsp;'
if reverse_alias[name] then
for i, alias in ipairs(reverse_alias[name]) do
reverse_alias[name][i] = '&#91;&#91;' .. alias .. '&#93;&#93;'
end
alias_code = table.concatinsert(reverse_alias[name]result, '<br />'str)
end
root:tag('tr')
:tag('td'):wikitext(name_codekey):done()
:tag('td'):wikitext(alias_codereverse_alias[key]:concat('<br />')):done()
:tag('td'):wikitext(cat_coderesult:concat('<br />')):done()
end
return tostring(root)