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

Contenuto cancellato Contenuto aggiunto
riscrivo gestione generi
+
Riga 47:
 
-- Restituisce un numero variabile di generi uno alla volta
local function extract_genres(value, table_name)
local index = 0
local substrings = mw.text.split(value, ' *, *')
Riga 62:
if genre then
genre = mw.text.trim(genre:lower())
genre = cfg[table_name][cfg.alias_genere[genre]] or cfg[table_name][genre]
end
if genre then
return genre, tail
else
return substrings[index], ''
end
return genre, cfg.alias_genere[genre], tail, substrings[index]
end
end
Riga 314 ⟶ 309:
-- Aggiunge una o più categorie per genere dell'opera
function CategoryManager:_addCategoryByGenre(value)
for categoriesgenre, alias in extract_genres(value, self.genre_table_name) do
local wikilink = cfg.genere_wikilink[alias] or cfg.genere_wikilink[genre]
if type(categories) == 'table' then
if genrewikilink then
for _, category in ipairs(categories) do
local categories = cfg[self.genre_table_name][alias] or
self:_addCategory(category)
cfg[self.genre_table_name][genre]
if type(categories) == 'table' then
for _, category in ipairs(categories) do
self:_addCategory(category)
end
end
else
Riga 429:
function p.generi(frame)
local ret = {}
for genre, alias, tail, default in extract_genres(frame.args[1], 'genere_wikilink') do
local wikilink = cfg.genere_wikilink[alias] or cfg.genere_wikilink[genre]
table.insert(ret, genrewikilink and (wikilink .. tail) or default)
end
return table.concat(ret, ', ')