Această pagină este protejată de mișcare
Această pagină este protejată

Modul: Gastronomie

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Modul pentru realizarea catalogării automate a articolelor care conțin șablonul {{ Gastronomie }}. Setările pot fi găsite în Modul: Gastronomie / Configurare .


 local getArgs = require ( 'Modul: Argumente' ). getArgs
local cfg = mw . loadData ( „Formular: Gastronomie / Configurare” )
local p = {}

funcție get_list ( args , base_name , max )
local name_list = {}
listă_nume [ 1 ] = argumente [ nume_bază ]
contor local = 2
pentru contor = 2 , max do
name_list [counter] = args [base_name .. tostring (counter)]
Sfârșit
returnează lista_nume
Sfârșit

funcția p . autocat ( cadru )

argumente locale = getArgs ( cadru )
local current_page = mw . titlu . getCurrentTitle ()
local current_namespace = current_page . spațiu de nume
local debug = args [ 'debug' ]
local debug_values = {}
- nu clasifica dacă în ns: 0
dacă current_namespace ~ = 0 și nu depanează atunci
intoarce ''
Sfârșit
erori locale = {}
new_categories locale = {}
regiuni locale = {}
țări locale = {}
local category = args [ 'category' ] sau ''
categorie = cfg . categories_alias [ categorie ] sau categorie
local cat_plate = cfg . categorii [ categorie ]
țări locale = get_list ( args , „țară” , 5 )
regiuni locale = get_list ( args , 'region' , 15 )
local province = get_list ( args , 'province' , 5 )
- Creez categorii pe baza categoriei vasului
dacă flat_cat ~ = zero atunci
- categoria de bază a plăcii
dacă flat_cat . cat_base ~ = " atunci
new_categories [ # new_categories + 1 ] = plate_cat . baza_catului
Sfârșit
dacă flat_cat . country_cat ~ = " atunci
local exclude_country = {}
local exclude_regions = {}
- categoria primei părți după provincii (sau, în orice caz, subdiviziune după regiune)
pentru _ , provincia în ipairs ( provincia ) do             
dacă cfg . provincie [ provincie ] atunci
new_cat_provincia = 'Bucătărie' .. cfg . provincie [ provincie ]. categorie
dacă mw . titlu . new ( 'Categorie:' .. new_cat_provincia ). există atunci
- Cat_base nu este diferit de „Cucina”, categoria regională / națională nu este legată de „Cucina <provincia>”
dacă flat_cat . country_cat == „Bucătărie” atunci  
exclude_regions [ cfg . provincie [ provincie ]. regiune ] = true
exclude_ țări [ cfg . regiuni [ cfg . provincie [ provincie ]. regiune ]. country ] = adevărat
Sfârșit
new_categories [ # new_categories + 1 ] = new_cat_provincia
Sfârșit
Sfârșit               
Sfârșit
- categoria a doua parte pentru regiuni
pentru _, regiunea în ipairs (regiuni) do
dacă cfg . regiuni [ regiune ] și nu exclude_regiuni [ regiune ] atunci
local new_cat = "
dacă cfg . regiuni [ regiune ]. forță_prepunere atunci
new_cat = cat_plate . country_cat .. cfg . regiuni [ regiune ]. prepoziție .. regiune
altfel
new_cat = cat_plate . country_cat .. cfg . regions [ region ] [ plate_cat . prefix ]
Sfârșit
dacă mw . titlu . nou ( 'Categorie:' .. nou_cat ). există atunci
new_categories [ # new_categories + 1 ] = new_cat
exclude_ țări [ cfg . regiuni [ regiune ]. country ] = adevărat
Sfârșit
Sfârșit
Sfârșit
- categoria a treia parte pe țări
pentru _, țară în ipairs (țări) do
dacă nu exclude_country [ country ] atunci
dacă țară == „Internațional” atunci
dacă flat_cat . internațional atunci 
new_categories [ # new_categories + 1 ] = 'Mâncăruri internaționale'
Sfârșit
altfel
new_categories [ # new_categories + 1 ] = plate_cat . country_cat .. frame : expandTemplate { title = 'Add' , args = { plate_cat . prefix , țară }}
Sfârșit
Sfârșit
Sfârșit
Sfârșit
Sfârșit
confirmare locală = args [ 'recunoaștere' ]
dacă confirmare atunci
recunoaștere = mw . ustring . superior ( recunoaștere )
dacă cfg . recunoștințe [ recunoștință ] atunci
dacă # țări == 1 și cfg . recunoaștere_naționalitate [ țări [ 1 ]] și recunoaștere ~ = 'IGP-PTN' și recunoaștere ~ = 'DOP-PTN' atunci
noi_categorii [ # noi_categorii + 1 ] = cfg . mulțumiri [ recunoaștere ] .. cfg . recunoașteri_naționalitate [ țări [ 1 ]]
altfel
noi_categorii [ # noi_categorii + 1 ] = cfg . premii [ recunoastere ]
Sfârșit
elseif confirmare == 'PAT' atunci
local region_found = false
dacă # regiuni > 0 atunci
pentru _, regiunea în ipairs (regiuni) do
dacă cfg . regiuni [ regiune ] și cfg . regiuni [ regiune ]. țară == „Italia” atunci
new_categories [ # new_categories + 1 ] = 'Produse alimentare tradiționale' .. cfg . regiuni [ regiune ]. prepoziție .. regiune
region_found = true
Sfârșit
Sfârșit
Sfârșit
dacă nu regiune_ găsită atunci
new_categories [ # new_categories + 1 ] = 'Produse alimentare tradiționale italiene'
Sfârșit
altfel
errors [ # errors + 1 ] = 'Confirmarea nu a fost găsită'
Sfârșit
Sfârșit
- categoria de erori pentru imaginile lipsă
dacă nu depanare și nu args [ 'imagine' ] atunci
new_categories [ # new_categories + 1 ] = 'Imagini necesare - bucătărie'
Sfârșit
- înfășurați [[..]] categoriile
dacă # erori > 0 atunci
new_categories [ # new_categories + 1 ] = "Erori de compilare a șabloanelor gastronomice"
Sfârșit
local wrapped = {}
dacă depanare atunci
pentru _ , cat in ipairs ( noi_categorii ) face
wrapped [ # wrapped + 1 ] = '[[: Categorie:' .. cat .. '|' .. pisică .. ']]'
Sfârșit
wrapped [ # wrapped + 1 ] = '<br />'
pentru _ , debug_value în ipairs ( debug_values ) faceți
wrapped [ # wrapped + 1 ] = debug_value
Sfârșit

altfel
pentru _ , cat in ipairs ( noi_categorii ) face
wrapped [ # wrapped + 1 ] = '[[Categorie:' .. cat .. ']]'
Sfârșit
Sfârșit
return table.concat ( împachetat )
Sfârșit

funcția p . categorie ( cadru )
argumente locale = getArgs ( cadru )
local category = args [ 'category' ] sau ''
categorie = cfg . categories_alias [ categorie ] sau categorie
local cat_plate = cfg . categorii [ categorie ]
dacă flat_cat ~ = zero atunci
returnează placa_cat . voce
altfel
return '<strong class = "error"> Categorie nerecunoscută </strong> [[Categorie: erori de compilare a șabloanelor gastronomice]]'
Sfârșit
Sfârșit

- Returnează lista categoriilor
funcția p . list_categorie ( cadru )

local tableNode = mw . html . create ( "tabel" ): addClass ( 'wikitable' ): addClass ( ' sortable ' )
tableNode : tag ( 'tr' )
: tag ( 'th' ): wikitext ( 'Category' ): done ()
: tag ( 'th' ): wikitext ( 'Alias' ): done ()
: tag ( 'th' ): wikitext ( 'Voice' ): done ()
local cat_list = {}
pentru pisica, _ în perechi (CFG. categorii) do
cat_list [ # cat_list + 1 ] = cat
Sfârșit
table.sort ( pisică )
pentru _ , cat in ipairs ( cat_list ) do
local table_row = tableNode : tag ( 'tr' )
table_row : tag ( 'td' ): wikitext ( cat )
local alias_cat = {}
pentru k , v în perechi ( cfg . action_alias ) do
dacă v == cat atunci alias_cat [ # alias_cat + 1 ] = k end
Sfârșit
table_row : tag ( 'td' ): wikitext ( table.concat ( alias_cat , ',' ))
table_row : tag ( 'td' ): wikitext ( cfg . categorii [ cat ]. intrare )
Sfârșit
întoarcere înapoi (nod de tablă)
Sfârșit

funcția p . list_province ( cadru )

local tableNode = mw . html . create ( "tabel" ): addClass ( 'wikitable' ): addClass ( ' sortable ' )
tableNode : tag ( 'tr' )
: tag ( 'th' ): wikitext ( 'Province' ): done ()
: tag ( 'th' ): wikitext ( 'Region' ): done ()
: tag ( 'th' ): wikitext ( 'Category' ): done ()
local prov_list = {}
pentru pisică , _ în perechi ( cfg . provincie ) do
prov_list [ # prov_list + 1 ] = cat
Sfârșit
table.sort ( prov_list )
pentru _ , prov in ipairs ( prov_list ) do
local table_row = tableNode : tag ( 'tr' )
table_row : tag ( 'td' ): wikitext ( prov )
table_row : tag ( 'td' ): wikitext ( cfg . provincia [ prov ]. regiune )
table_row : tag ( 'td' ): wikitext ( '[[: Category: Cuisine' .. cfg . provinces [ prov ]. category .. '| Cuisine' .. cfg . provinces [ prov ]. category .. ']] ' )
Sfârșit
întoarcere înapoi (nod de tablă)
Sfârșit

retur p