Modulo:Bio/Parametri/sandbox

Versione del 19 mar 2014 alle 11:21 di Rotpunkt (discussione | contributi) (aggiunti messaggi di errore)
--[[
Configurazione dei parametri del modulo:bio.
Definisce quali sono gli unici parametri accettati e i rispettivi valori validi nella forma:
["Nome parametro"] = { "Breve descrizione", tipo_parametro, errore_visibile },

Il campo tipo_parametro può valere:
1) "string": è accettato qualunque valore
2) "number": è accettato solo un valore numerico
3) un pattern Lua: è accettato il valore se soddisfa il pattern Lua descritto
4) una funzione Lua: funzione Lua che esegue il controllo di validità,
   da usare quando i tipi precedenti non sono sufficienti.
Nel caso della funzione, deve accettare due parametri: il valore del parametro e
la tabella con gli altri argomenti (per fare controlli in relazione agli altri parametri).
Deve ritornare true se il valore del parametro è valido altrimenti false.
Esempio: scommentando la seguente funzione checkNome e usando alla riga "Nome":
["Nome"] = { "Nome della persona", checkNome, false },
sono categorizzate la pagine con Nome contenente "soprannominato" o "al secolo".
Inoltre non viene visualizzato il messaggio di errore (errore_visibile è false).
]]
--local function checkNome(value, args)
--    return value:find("soprannominato") == nil and
--           value:find("al secolo") == nil
--end

local function checkEpoca(value, args)
    return mw.loadData("Modulo:Bio/Configurazione").epoche[value] ~= nil
end

return {
    ["Titolo"] = { "Eventuali titoli", "string", true },
    ["Nome"] = { "Nome della persona", "string", true },
    ["Cognome"] = { "Cognome della persona", "string", true },
    ["PostCognome"] = { "Precisazioni dopo il cognome", "string", true },
    ["PostCognomeVirgola"] = { "Precisazioni dopo il cognome (fra virgole)", "string", true },
    ["ForzaOrdinamento"] = { "Forza ordinamento", "string", true },
    ["PreData"] = { "Precisazioni prima della data", "string", true },
    ["Sesso"] = { "Scegliere tra M e F", "^[MF]$", true },
    ["LuogoNascita"] = { "Luogo di nascita", "string", true },
    ["LuogoNascitaLink"] = { "Luogo di nascita (link)", "string", true },
    ["LuogoNascitaAlt"] = { "Luogo di nascita (alternativo)", "string", true },
    ["GiornoMeseNascita"] = { "Giorno e mese di nascita", "string", true },
    ["AnnoNascita"] = { "Anno di nascita", "string", true },
    ["NoteNascita"] = { "Note sulla nascita", "string", true },
    ["LuogoMorte"] = { "Luogo di morte", "string", true },
    ["LuogoMorteLink"] = { "Luogo Morte (link)", "string" },
    ["LuogoMorteAlt"] = { "Luogo Morte (alternativo)", "string", true },
    ["GiornoMeseMorte"] = { "Giorno e mese di morte", "string", true },
    ["AnnoMorte"] = { "Anno di morte", "string", true },
    ["NoteMorte"] = { "Note sulla morte", "string", true },
    ["PreAttività"] = { "Frase pre-attività", "string", true },
    ["Epoca"] = { "Sottocategorizzazione per secolo di attività", checkEpoca, true },
    ["Epoca2"] = { "Per persone che hanno vissuto a cavallo di secoli diversi", checkEpoca, true },
    ["Attività"] = { "Attività nell'elenco di attività esistenti", "string", true },
    ["Attività2"] = { "Seconda attività", "string", true },
    ["Attività3"] = { "Terza attività", "string", true },
    ["AttivitàAltre"] = { "Attività (altre)", "string", true },
    ["Nazionalità"] = { "Nazionalità nell'elenco di nazionalità esistenti", "string", true },
    ["NazionalitàNaturalizzato"] = { "Nazionalità (naturalizzato)", "string", true },
    ["Cittadinanza"] = { "Nazionalità culturale differente dalla nazionalità anagrafica", "string", true },
    ["PostNazionalità"] = { "Precisazioni dopo la nazionalità", "string", true },
    ["Categorie"] = { "Se 'no', disattiva la categorizzazione per Attività e Nazionalità", "^no$", true },
    ["FineIncipit"] = { "Sostituisce la parte dopo le parentesi della data", "string", true },
    ["Punto"] = { "Se 'no' elimina il punto finale", "^no$", true },
    ["Immagine"] = { "Nome del file", "string", true },
    ["Didascalia"] = { "Didascalia dell'immagine", "string", true },
    ["Didascalia2"] = { "Ulteriore didascalia", "string", true },
    ["DimImmagine"] = { "Dimensione immagine senza px", "^%d+$", true }
}