Modul: Codul statistic
Salt la navigare Salt la căutare
Instructiuni de folosire
Acesta este un modul scris în Lua . Următoarele instrucțiuni sunt incluse în sub- modulul: cod statistic / om ( schimbări · istorie )
Sandbox: Formă: Cod statistic / sandbox ( modificări · istoric ) · Test: Formă: Cod statistic / test ( modificări · istoric · Executare )
Acesta este un modul scris în Lua . Următoarele instrucțiuni sunt incluse în sub- modulul: cod statistic / om ( schimbări · istorie )
Sandbox: Formă: Cod statistic / sandbox ( modificări · istoric ) · Test: Formă: Cod statistic / test ( modificări · istoric · Executare )
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