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

Modul: Codul statistic

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

Modul care implementează șablonul {{ Codul statistic }}.


 - [[
* Modul care implementează șablonul Codului Statistic.
]] -

require ( „Formular: fără globali” )

local getArgs = require ( 'Modul: Argumente' ). getArgs
local mWikidata = require ( 'Modul: Wikidata' )

- Funcția de formatare a codului municipal austriac (Statistik Austria).
-
- @param {string} id
- @return {șir}
format funcție locală P964 ( id )
local formatted_id = string.gsub ( id , '(% d) (% d% d) (% d% d)' , '% 1% 2% 3' )
returnează string.format ( '[http://www.statistik.at/blickgem/gemDetail.do?gemnr=%s% s]' , id , formatat_id )
Sfârșit

- Funcția de formatare a codului municipal german (Statistisches Bundesamt).
-
- @param {string} id
- @return {șir}
format funcție locală P439 ( id )
local formatted_id = string.gsub ( id , '(% d% d) (% d) (% d% d) (% d% d% d)' , '% 1% 2% 3% 4' )
returnează string.format ( „[http://www.statistik-portal.de/Statistik-Portal/gemeindeverz.asp?G=%s% s]” , id , formatat_id )
Sfârșit

- Funcția de formatare a codului districtului german (Statistisches Bundesamt).
-
- @param {string} id
- @return {șir}
format funcție locală P440 ( id )
return string.gsub ( id , '(% d% d) (% d) (% d% d)' , '% 1% 2% 3' )
Sfârșit

- Funcția de formatare a codului INSEE
- (Institut national de la statistique et des études economiques).
-
- @param {string} id
- @return {șir}
format funcție locală P374 ( id )
returnează string.format ( „[http://www.insee.fr/fr/themes/dossier_complet.asp?codgeo=COM-%s% s]” , id , id )
Sfârșit

- Funcția de formatare a codului municipal IBGE
- (Instituto Brasileiro de Geografia e Estatística).
-
- @param {string} id
- @return {șir}
format funcție locală P1585 ( id )
returnează string.format ( '[http://cidades.ibge.gov.br/xtras/perfil.php?codmun=%s% s]' , id , id )
Sfârșit

- Funcția de formatare a codului KSH (Központi Statisztikai Hivatal).
-
- @param {string} id
- @return {șir}
format funcție locală P939 ( id )
returnează string.format ( '[http://www.ksh.hu/apps/hntr.telepules?p_id=%s% s]' , id , id )
Sfârșit

- Funcție de comparare implicită pentru categoriile Wikidata.
-
- @param {string} wdval
- @param {string} userval
- @return {boolean}
funcție locală compare Default ( wdval , userval )
returnează string.gsub ( wdval , '' , '' ) == string.gsub ( userval , '' , '' )
Sfârșit

- Funcția de comparație a codului OFS pentru categoriile Wikidata.
-
- @param {string} wdval
- @param {string} userval
- @return {boolean}
funcție locală compare P771 ( wdval , userval )
wdval = string.gsub ( wdval , '' , '' )
userval = string.gsub ( userval , '' , '' )
returnează wdval == userval sau ( tonumber ( userval ) și wdval == string.format ( '% 04d' , userval ))
Sfârșit

- Coduri statistice configurate
local statCodes = {
AUT = {
implicit = { prop = 'P964' , format = formatP964 }
},
BEL = {
implicit = { prop = 'P1567' }
},
SUTIENȚĂ = {
implicit = { prop = 'P1585' , format = formatP1585 }
},
CE = {
implicit = { prop = 'P771' , compare = compareP771 }
},
CHN = {
implicit = { prop = 'P442' }
},
CZE = {
implicit = { prop = 'P782' }
},
DEU = {
[ '1' ] = {}, - dezactivat
[ '3' ] = { prop = 'P440' , format = formatP440 },
implicit = { prop = 'P439' , format = formatP439 }
},
DNK = {
implicit = { prop = 'P1168' }
},
ESP = {
implicit = { prop = 'P772' }
},
FRA = {
[ '1' ] = { prop = 'P2585' },
[ '2' ] = { prop = 'P2586' },
[ '3' ] = { prop = 'P3423' },
[ '4' ] = { prop = 'P2506' },
implicit = { prop = 'P374' , format = formatP374 }
},
HUN = {
implicit = { prop = 'P939' , format = formatP939 }
},
ITA = {
implicit = { prop = 'P635' }
},
NLD = {
implicit = { prop = 'P382' }
},
NOR = {
implicit = { prop = 'P2504' }
},
UKR = {
implicit = { prop = 'P1077' }
}
}

- Returnează categoria Wikidata corespunzătoare bazată pe
- valoarea utilizatorului, cea de pe Wikidata și tipul de cod.
-
- @param {string} userval
- @param {string} wdval
- cod @param {table}
- @return {șir}
funcție locală getWikidataCategory ( userval , wdval , cod )
pisică locală
- vă permite să definiți funcții de comparație pentru proprietăți specifice
local comparefunc = cod . compare or compareDefault

dacă utilizează atunci
dacă nu wdval atunci
cat = string.format ( '% s absent pe Wikidata' , cod . prop )
elseif comparefunc ( wdval , userval ) atunci
cat = string.format ( '% s la fel pe Wikidata' , cod . prop )
altceva
cat = string.format ( '% s diferit pe Wikidata' , cod . prop )
Sfârșit
elseif wdval atunci
cat = string.format ( '% s citit din Wikidata' , cod . prop )
Sfârșit

returnează pisica și șirul.format ( '[[Categorie:% s]]' , pisică ) sau ''
Sfârșit

- ================================================== ============================
- Funcții exportate
- ================================================== ============================

local p = {}

- Funcția de utilitate pentru manual, returnează un tabel HTML
- cu codurile statistice configurate.
funcția p . raport ()
local tableNode
local sortedCodes = {}

pentru cheie , _ în perechi ( statCodes ) do
table.insert ( sortedCodes , cheie )
Sfârșit
table.sort ( sortedCodes )

tableNode = mw . html . create ( 'tabel' )
tableNode
: addClass ( 'wikitable' )
: addClass ( ' sortabil ' )
: etichetă ( 'tr' )
: etichetă ( „th” )
: wikitext ( „Cod” )
: făcut ()
: etichetă ( „th” )
: wikitext ( „Țara” )
: făcut ()
: etichetă ( „th” )
: wikitext (  rang administrativ” )
: făcut ()
: etichetă ( „th” )
: wikitext ( 'Proprietăți Wikidata' )
: făcut ()
: etichetă ( „th” )
: wikitext ( „Date citite” )
: făcut ()

pentru _, ISO3166 în ipairs (sortedCodes) do
coduri locale = statCodes [ iso3166 ]
pentru cheie , valoarea în perechi ( coduri ) face
dacă valoare . prop atunci
local catBed = valoare . prop .. „citește din Wikidata”
pagesInCat locale = mw. site . statistici . pagesInCategory ( catLetto , 'pagini' )
tableNode
: etichetă ( 'tr' )
: etichetă ( 'td' )
: wikitext ( mw . wikibase . getLabel ( value . prop ))
: făcut ()
: etichetă ( 'td' )
: wikitext ( iso3166 )
: făcut ()
: etichetă ( 'td' )
: wikitext ( cheie == „implicit” și „implicit” sau cheie )
: făcut ()
: etichetă ( 'td' )
: wikitext ( string.format ( '[[d: p:% s |% s (% s)]]' ,
valoare . prop , mWikidata . _getLabel ({ value . prop }), valoare . prop ))
: făcut ()
: etichetă ( 'td' )
: css ( 'text-align' , 'right' )
: wikitext ( string.format ( '[[: Categorie:% s |% s]]' , catLetto , pagesInCat ))
: făcut ()
Sfârșit
Sfârșit
Sfârșit

întoarcere înapoi (nod de tablă)
Sfârșit

- Funcție pentru utilizare de către un alt modul.
funcția p . _principal ( argumente )
cod local , userval , wdval , formatted_userval , formatted_wdval
pisica locala = "

- valoarea utilizatorului
userval = args [ 1 ]
formatat_userval = userval

- căutare țară
dacă arg . iso3166 atunci
cod = statCodes [ args . iso3166 ]
Sfârșit
dacă nu cod atunci
iso3166 local = mWikidata . _getProperty ({ 'P17' , showprop = 'P298' , from = args . from , n = 1 })
code = statCodes [ iso3166 ]
Sfârșit
- cercetare de nivel administrativ
dacă cod atunci
cod = cod [ args . grad ] sau cod . Mod implicit
Sfârșit

- cod prezent și activat
dacă cod și cod . prop atunci
- valoarea citită din Wikidata
wdval = mWikidata . _getProperty ({ code . prop , from = args . from , n = 1 })
formatat_wdval = ( wdval și cod . format ) și cod . format ( wdval ) sau wdval
formatted_userval = ( userval și cod . format ) și cod . format ( string.gsub ( userval , '' , '' )) sau userval

- categoria de servicii
dacă mw . titlu . getCurrentTitle (). spațiu de nume == 0 și ( userval sau wdval ) apoi
cat = getWikidataCategory ( userval , wdval , cod )
Sfârșit
Sfârșit

return ( formatat_userval sau formatat_wdval sau '' ) .. cat
Sfârșit

- Funcția pentru șablonul {{Codul statistic}}.
funcția p . principal ( cadru )
retur p . _main ( getArgs ( cadru , { parentOnly = true }))
Sfârșit

retur p