gastronomije

La documentazione per questo modulo può essere creata in Modulo:Gastronomije/man

local getArgs = require('Module:Arguments').getArgs local cfg = mw.loadData("Modulo:Gastronomije/Configurazione") local p = {}  function get_list(args, base_name, max)     local name_list = {}     name_list[1] = args[base_name]     local counter = 2     for counter = 2, max do         name_list[counter] = args[base_name .. tostring(counter)]     end     return name_list end  function p.autocat(frame)      local args = getArgs(frame)     local current_page = mw.title.getCurrentTitle()     local current_namespace = current_page.namespace     local debug = args['debug']     local debug_values = {}     -- non categorizzare se in ns:0     if current_namespace ~= 0 and not debug  then         return ''     end     local errori = {}     local new_categories = {}     local regioni = {}     local paesi = {}     local categoria = args['categoria'] or ''     categoria = cfg.categorie_alias[categoria] or categoria     local piatto_cat = cfg.categorie[categoria]     local paesi = get_list(args, 'paese', 5)     local regioni = get_list(args, 'regione', 15)     local province = get_list(args, 'provincia', 5)     -- Creo categorie in base alla categoria del piatto     if piatto_cat ~= nil then         -- categoria base del piatto         if piatto_cat.cat_base ~= '' then             new_categories[#new_categories+1] = piatto_cat.cat_base         end         if piatto_cat.paese_cat ~= '' then             local escludi_paesi = {}             local escludi_regioni = {}             -- prima parte categoria per province (o comunque suddivisione di regione)             for _, provincia in ipairs(province) do                              if cfg.province[provincia] then                     new_cat_provincia = 'Cucina ' .. cfg.province[provincia].categoria                     if mw.title.new('Categoria:' .. new_cat_provincia).exists then                         -- Non la cat_base è diversa da 'Cucina ' la categoria regionale/nazionale non è parente di 'Cucina '                          if piatto_cat.paese_cat == 'Cucina ' then                               escludi_regioni[cfg.province[provincia].regione] = true                             escludi_paesi[cfg.regioni[cfg.province[provincia].regione].paese] = true                         end                         new_categories[#new_categories+1] = new_cat_provincia                     end                 end                            end             -- seconda parte categoria per regioni             for _,regione in ipairs(regioni) do                 if cfg.regioni[regione] and not escludi_regioni[regione] then                     local new_cat = ''                     if cfg.regioni[regione].forza_preposizione then                         new_cat = piatto_cat.paese_cat .. cfg.regioni[regione].preposizione .. regione                     else                         new_cat = piatto_cat.paese_cat .. cfg.regioni[regione][piatto_cat.prefix]                     end                     if mw.title.new('Categoria:' .. new_cat).exists then                         new_categories[#new_categories+1] = new_cat                         escludi_paesi[cfg.regioni[regione].paese] = true                     end                 end             end             -- terza parte categoria per paese             for _,paese in ipairs(paesi) do                 if not escludi_paesi[paese] then                     if paese == 'Internazionale' then                         if piatto_cat.internazionale then                              new_categories[#new_categories+1] = 'Piatti internazionali'                         end                     else                         new_categories[#new_categories+1] = piatto_cat.paese_cat .. frame:expandTemplate{ title = 'AggNaz', args = { piatto_cat.prefix , paese }}                     end                 end             end         end     end     local riconoscimento = args['riconoscimento']     if riconoscimento then         riconoscimento = mw.ustring.upper(riconoscimento)         if cfg.riconoscimenti[riconoscimento] then             if #paesi == 1 and cfg.riconoscimenti_nazionalita[paesi[1]] and riconoscimento ~= 'IGP-PTN' and riconoscimento ~= 'DOP-PTN' then                 new_categories[#new_categories+1] =  cfg.riconoscimenti[riconoscimento] .. cfg.riconoscimenti_nazionalita[paesi[1]]             else                 new_categories[#new_categories+1] = cfg.riconoscimenti[riconoscimento]             end         elseif riconoscimento == 'PAT' then             local regione_found = false             if #regioni > 0 then                 for _, regione in ipairs(regioni) do                     if cfg.regioni[regione] and cfg.regioni[regione].paese == 'Italia' then                         new_categories[#new_categories+1] = 'Prodotti agroalimentari tradizionali ' .. cfg.regioni[regione].preposizione .. regione                         regione_found = true                     end                 end             end             if not regione_found then                 new_categories[#new_categories+1] = 'Prodotti agroalimentari tradizionali italiani'             end         else             errori[#errori+1] = 'Riconoscimento non trovato'         end     end     -- categoria di errore per immagini assenti     if not debug and not args['immagine'] then         new_categories[#new_categories+1] = 'Immagini richieste - cucina'     end     -- wrap in [[ .. ]] le categorie     if #errori>0 then         new_categories[#new_categories+1] = "Errori di compilazione del template Gastronomije"     end     local wrapped = {}     if debug then         for _,cat in ipairs(new_categories) do             wrapped[#wrapped+1] =  '[[:Categoria:' .. cat .. '|'.. cat .. ']] '         end         wrapped[#wrapped+1] = '
'
for _, debug_value in ipairs(debug_values) do wrapped[#wrapped+1] = debug_value end else for _,cat in ipairs(new_categories) do wrapped[#wrapped+1] = '[[Categoria:' .. cat .. ']]' end end return table.concat(wrapped) end function p.categoria(frame) local args = getArgs(frame) local categoria = args['categoria'] or '' categoria = cfg.categorie_alias[categoria] or categoria local piatto_cat = cfg.categorie[categoria] if piatto_cat ~= nil then return piatto_cat.voce end local ret = 'Categoria non riconosciuta' if mw.title.getCurrentTitle().namespace == 0 then ret = ret .. '[[Categoria:Errori di compilazione del template Gastronomije]]' end return ret end -- Ritorna la lista di categorie function p.list_categorie(frame) local tableNode = mw.html.create("table"):addClass('wikitable table-responsive '):addClass('sortable') tableNode:tag('tr') :tag('th'):wikitext('Categoria'):done() :tag('th'):wikitext('Alias'):done() :tag('th'):wikitext('Voce'):done() local cat_list = {} for cat, _ in pairs(cfg.categorie) do cat_list[#cat_list+1] = cat end table.sort(cat) for _,cat in ipairs(cat_list) do local table_row = tableNode:tag('tr') table_row:tag('td'):wikitext(cat) local alias_cat = {} for k,v in pairs(cfg.action_alias) do if v == cat then alias_cat[#alias_cat+1] = k end end table_row:tag('td'):wikitext(table.concat(alias_cat, ', ')) table_row:tag('td'):wikitext(cfg.categorie[cat].voce) end return tostring(tableNode) end function p.list_province(frame) local tableNode = mw.html.create("table"):addClass('wikitable table-responsive '):addClass('sortable') tableNode:tag('tr') :tag('th'):wikitext('Provincia'):done() :tag('th'):wikitext('Regione'):done() :tag('th'):wikitext('Categoria'):done() local prov_list = {} for cat, _ in pairs(cfg.province) do prov_list[#prov_list+1] = cat end table.sort(prov_list) for _,prov in ipairs(prov_list) do local table_row = tableNode:tag('tr') table_row:tag('td'):wikitext(prov) table_row:tag('td'):wikitext(cfg.province[prov].regione) table_row:tag('td'):wikitext('[[:Categoria:Cucina ' .. cfg.province[prov].categoria .. '|Cucina ' .. cfg.province[prov].categoria .. ']]') end return tostring(tableNode) end return p

Tags:

🔥 Trending searches on Wiki Tarandíne:

AntartideJoan Fuster1931Mar MediterranèeProvinge de AvellinoAteneChambaveCipreFinlandieJawaharlal NehruMarlene DietrichCroazie1989SudanSydneyAbu NuwasLunedìeISO 3166-1SilviEgitteKarachi1953ItaglieAltitudine1969ZakaliciousVallada AgordinaLaurinoComunetate autonome d'a Spagne1923MatereDubai2006RussiaPragheTeheranStoccolme1991RosarieNew York CityLondreChiuroBourg-la-Reine1971Candande706 n.C.TrioraQuentin Tarantino1998'Mbere BizzandineSofocleNuève YorkAndorreMadrid (comunetate autonome)Ceglie MessapecheNorveggieCannero RivieraPajèsere BascheCharlie ChaplinMacherio2012Uicchipèdie tedescheValparaísoNuoro2000SvizzerePaul Newman2020Tanzanie🡆 More