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

Forma: Planul sistemelor planetare

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

Modul Lua pentru gestionarea funcțiilor șablonului {{ Prezentare generală a sistemelor planetare }}


 - ================================================== =====================================
- Funcția pentru implementarea șablonului: Planul sistemelor planetare
- ================================================== =====================================

local getArgs = require ( 'Modul: Argumente' ). getArgs
= immagine_sinottico locale necesită ( 'Modul: sinoptic Picture'). _principal

- ================================================== =====================================
- Funcția care trebuie reamintită din șablon: Prezentare generală a sistemelor planetare
- ================================================== =====================================
tabel de funcții locale ( cadru )
- parametrii indexați de verificat
local param_names = { 'planetă' , 'tip' , 'masă' , 'rază' , 'densitate' , 'perioadă_orb' , 'sem' , 'etc' , 'incl' , 'an' }
- antetul coloanelor parametrilor
anteturi locale = { planet = '[[Planet]]' , type = 'Type' , mass = '[[Mass (fizica) | Mass]]' , radius = '[[Radius (astronomie) | Radius]]' , [ 'densitate' ] = '[[Densitate]]' , 
period_orb = '[[Period of revolution | Period orb.]]' , sem = '[[Semi-major axis | Sem. major]] ' , 
ecc = '[[Orbital excentricity | Excentricity]]' , incl = '[[Orbital inclination | Incl. orbita]] ' , year = ' Discovery ' }
argumente locale = getArgs ( cadru , { parentonly = true } )
- contorul parametrilor efectiv prezenți
local index_table = 0
- creați și inițializați tabelul de date și tabelul care indică dacă există date pentru un nume dat
local găsit = {}
tabel local = {}
pentru _, base_name în ipairs (param_names) do 
table [ base_name ] = {} 
găsit [ nume_bază ] = fals
Sfârșit
- examinează corect toți parametrii de la <nume> 1 la <nume> 9 și încarcă datele în tabel
pentru i = 1 , 9 fac
local pos = tostring ( i )
local found_index = false
pentru _, base_name în ipairs (param_names) do
nume local = nume_baza .. poz
dacă args [ nume ] atunci
dacă nu found_index atunci 
index_table = index_table + 1
găsit_index = adevărat
Sfârșit
găsit [ nume_bază ] = adevărat
table [ nume_bază ] [ tabel_index ] = argumente [ nume ]
Sfârșit
Sfârșit
Sfârșit
- dacă este adevărat, apoi întoarceți sfârșitul mw.text.jsonEncode (tabel)
- dacă nu a găsit nimic, se întoarce
dacă index_table == 0 atunci returnează sfârșitul
- creați tabelul html
local table_html = mw . html . create ( 'tabel' ): addClass ( 'wikitable' ): css ( 'text-align' , 'center' )
- inițializați linia antetului
local rh = mw . html . create ( 'tr' )
pentru _ , nume în ipairs ( param_names ) do
dacă se găsește [ nume ] atunci rh : tag ( 'th' ): wikitext ( anteturi [ nume ]) se termină
Sfârșit
table_html : nod ( rh )
- încărcați datele din tabel
pentru i = 1 , index_table do
local rd = mw . html . create ( 'tr' )
pentru _ , nume în ipairs ( param_names ) do
dacă se găsește [ nume ] atunci
dacă tabelul [ nume ] [ i ] atunci
rd : tag ( 'td' ): wikitext ( tabel [ nume ] [ i ])
altceva
rd : tag ( 'td' )
Sfârșit
Sfârșit
Sfârșit
table_html : nod ( rd )
Sfârșit
- generează codul html pentru imagini bazându-se pe modulul Modul: Synoptic_Image
local immagine1 immagine_sinottico = ({args [ 'immagine1'], 
args [ „capalia1” ] sau „Prezentare generală a distanțelor planetelor față de steaua centrală” , 
user_size = args [ 'px1' ],
dim = '640' })
local immagine2 immagine_sinottico = ({args [ 'immagine2'], 
args [ 'caption2' ] sau '' , 
user_size = args [ 'px2' ],
dim = '640' })
- numără numărul de coloane existente efectiv
local col_count = 0
pentru _ , nume în ipairs ( param_names ) do
dacă se găsește [ nume ] atunci col_count = col_count + 1 sfârșit
Sfârșit
- inserează imaginile în tabel
dacă immagine1 ~ = ~ = nil și immagine1 '' atunci
table_html: tag ( 'tr'): tag ( 'TD'): attr ( 'colspan', tostring (col_count)): wikitext (immagine1)
Sfârșit
dacă image2 ~ = " și image2 ~ = " atunci
table_html: tag ( 'tr'): tag ( 'TD'): attr ( 'colspan', tostring (col_count)): wikitext (immagine2)
Sfârșit
returnează tostring (table_html)
Sfârșit

returnează { table = table }