Modulo:Videogioco: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Moroboshi (discussione | contributi)
r
Moroboshi (discussione | contributi)
fix vari
Riga 1:
--[[
Questo modulo è in appoggio al template Videogioco, per gestirne le funzioni di
categorizzazione automatica
]]
Riga 22:
-- quindi ritorna il valore corrispondente dalla tabella values
-- ========================================================================
local function get_category(name, values_table, alias_tabletable_name)
if alias_table then name = alias_tablecfg['alias_' .. table_name][name] or name end
return values_tablecfg[table_name][name]
end
 
-- ========================================================================
-- Ritorna una lista di categorie per la sequenza di parametri con
-- nome base 'base_name' consultando la tabella 'table'.
-- 'alias_table' è una tabella di nomi alternativi per i valori dei
-- parametri, 'max_index' il numero massimo dell'indice del parametro
-- da controllare
-- ========================================================================
local function categorizza(args, base_name, values_table, alias_tabletable_name, max_index, lowercase)
local categories = {}
if args[base_name] then
local name_value = args[base_name]
if lower_caselowercase then name_value = mw.mw.ustring.lower(name_value) end
local category = get_category(name_value, values_table, alias_tabletable_name)
if category then categories[category] = true end
end
Riga 49:
local name = base_name .. tostring(index)
if args[name] then
local name_value = args[base_namename]
if lower_case then name_value = mw.mw.ustring.lower(name_value) end
local category = get_category(name_value, values_table, alias_tabletable_name)
if category then categories[category] = true end
if index > 2 and not previous_present then anomaly = true end
previous_present = true
else
previous_present = false
end
Riga 77:
local categories = {}
local anomaly = {}
categories.sviluppo, anomaly.sviluppo = categorizza(args, 'sviluppo', cfg.'aziende, cfg.aliaz_aziende', 6)
categories.pubblicazione, anomaly.pubblicazione = categorizza(args, 'pubblicazione', cfg.'aziende, cfg.aliaz_aziende', 3)
categories.serie, anomaly.serie = categorizza(args, 'serie', cfg.'serie, cfg.alias_serie', 3, true)
if args.anno then
categories.anno = {}
local anno = tonumber(args.anno)
if anno == nil then
errors_msg[#errors_msg+1] = 'anno di pubblicazione non valido'
elseif anno <= 1970 then
categories.anno['Videogiochi fino al 1970'] = true
Riga 91:
end
end
categories.tema, anomaly.tema = categorizza(args, 'tema', cfg.'tema, cfg.alias_tema', 3, true)
categories.piattaforme, anomaly.piattaforme = categorizza(args, 'piattaforma', cfg.tema, cfg.alias_tema'piattaforma', 3)
categories.distribuzione, anomaly.distribuzione = categorizza(args, 'distribuzione', cfg.tema, cfg.distribuzione_tema'distribuzione', 3)
local cat_dict = {}
for cat_name,cat_list in pairs(categories) do
Riga 107:
cat_list[#cat_list+1] = '[[Categoria:Errori di compilazione del template Videogioco - ordine parametri]]'
end
if #errors_msg>0 then
cat_list[#cat_list+1] = '[[Categoria:Errori di compilazione del template Videogioco]]'
end