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

Formă: Eparhie

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

Modul pentru a susține șablonul {{ Clădire religioasă }} pentru a genera linia referitoare la eparhii, citind proprietatea diocezei Wikidata (P708) sau parametrul „ Dioceză ”.


 - [[
* Modul pentru a sprijini generarea șablonului de construcție religioasă
* linia referitoare la eparhii.
]] -

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

local getArgs = require ( 'Modul: Argumente' ). getArgs
local mWikidata = require ( 'Modul: Wikidata' )
local error_category = '[[Categorie: erori de compilare a șabloanelor de clădiri religioase]]'
- Proprietatea P708 va fi citită numai dacă valoarea sa (de tip element) este o „instanță” a unuia dintre aceste elemente.
- Formatul fiecărei linii este:
- qID = {'Numele care va fi afișat în sinoptic', 'Orice titlu al paginii dacă este diferit de numele'}
local cfg = {
Q285181 = { 'Eparhie' },
Q350509 = { 'Ordinariate' },
Q384003 = { 'Prefectura apostolică' },
Q427961 = { 'Provincia ecleziastică' },
Q565744 = { 'Biserica regională' , 'Biserica evanghelică din Germania' },
Q620225 = { 'Vicariatul Apostolic' },
Q644930 = { 'Mission sui iuris' },
Q665487 = { 'Dieceză' },
Q866196 = { 'Dieceză' },
Q1184788 = { 'Cartierul general al suburbianilor' },
Q1282276 = { 'Patriarhie' , 'Patriarhie (creștinism)' },
Q1385389 = { ' Eparhie extraprovincială ' , 'Biserică Anglicană' },
Q1431554 = { 'Administrație apostolică' },
Q1455927 = { 'Prelatura personală' },
Q1531518 = { 'Ordinariate militare' },
Q1778235 = { 'Territorial Abbey' },
Q2072238 = { 'Arhiepiscopie' },
Q2288631 = { 'Arcieparchia' },
Q2445047 = { 'Dieceză' },
Q2633744 = { 'Prelatura teritorială' },
Q3146899 = { 'Dieceză' },
Q3732788 = { ' Exarchat apostolic' },
Q3732792 = { ' Exarcat arhiepiscopal' },
Q3732793 = { ' Exarcatul Patriarhal' },
Q15150553 = { 'Ordinariate personale' },
Q12593969 = { 'Patriarhie' , 'Patriarhie (creștinism)' },
Q18917976 = { 'Dieceză' },
Q20060955 = { 'Dieceză' },
Q60176300 = { 'Dieceză' },
Q66818387 = { 'Dieceză' },
Q105388829 = { 'Dieceză' },
Q105390172 = { 'Arhiepiscopie' },
Q105419665 = { 'Arhiepiscopie' },
}

- Returnează categoria Wikidata corespunzătoare pe baza utilizatorului și a valorii Wikidata.
-
- @param {string} userval
- @param {string} wdval
- @return {șir}
funcție locală getWikidataCategory ( userval , wdval )
model local = '^% [?% [? ([^ |%]] *). * $'
pisică locală
- eliminați wikilink-urile pentru comparație
userval = userval și userval : meci ( model )
wdval = wdval și wdval : potrivire ( model )

dacă utilizează atunci
dacă nu wdval atunci
cat = 'P708 absent pe Wikidata'
elseif wdval == mw . limba . getContentLanguage (): ucfirst (userval) atunci
cat = 'P708 la fel pe Wikidata'
altfel
cat = 'P708 diferit pe Wikidata'
Sfârșit
elseif wdval atunci
cat = 'P708 citit de Wikidata'
Sfârșit
returnează string.format ( '[[Categorie:% s]]' , pisică )
Sfârșit

- Returnează ID-ul elementului Wikidata al valorii „instanță a” în P708.
-
- @return {șir}
funcție locală instanță getId ( year_deconsacr )
dioceseId locale, ret
diocesiId = mWikidata . _getProperty ({ 'P708' , n = 1 , formatare = 'raw' })
- în viitor modulul: Wikidata va returna zero pentru „fără valoare” și „valoare necunoscută”
dacă diocezăId și mw . wikibase . isValidEntityId ( dioceseId ) atunci
revendicări locale = {}
pentru _ , revendicați în ipairs ( mw . wikibase . getAllStatements ( diocesiId , 'P31' )) do
dacă pretinde . rang ~ = 'depreciat' atunci
table.insert ( revendicări , revendicări )
Sfârșit
Sfârșit
ret = revendicări [ 1 ] și mWikidata . _formatStatement ( revendicări [ 1 ], { formatting = 'raw' })
- Sediul titular este suprascris dacă există alte declarații și dacă episcopia a devenit
- astfel după anul deconsacrării bisericii, altfel generează o categorie de eroare
if ret == 'Q15217609' și revendicări [ 2 ] atunci
year_sconsacr = year_sconsacr și tonumber ( year_sconsacr : match ( '% d% d% d% d?' ))
local st_year_st = mWikidata . _formatQualifiers ( revendicări [ 1 ], „P580” ) sau „”
start_year_st = tonumber ( start_year_st : match ( '% d% d% d% d?' ))
dacă unsecured_year și st_begin_year și st_year <= st_begin_year atunci
ret = mWikidata . _formatStatement ( revendicări [ 2 ], { formatting = 'raw' })
Sfârșit
Sfârșit
Sfârșit
retur ret
Sfârșit

- Construiește wikilinkul eparhiei pornind de la sitelinkuri și etichete (eliminând prefixele cu prepoziții).
-
- @param {string} prefix
- @return {șir}
funcție locală getDiocesiWlink ( prefix )
local ret
local pattern = 'd [ei] [il]? l? [ae \' ]? '
diocesiId local = mWikidata . _getProperty ({ 'P708' , n = 1 , formatare = 'raw' })
local sitelink = mw . wikibase . getSitelink ( diocesiId )
- sitelinkul trebuie să existe în itwiki, nu generează linkuri roșii
dacă sitelink atunci
local label = mw . wikibase . getLabel ( diocesiId ) sau sitelink
label = label : gsub ( '^' .. prefix .. model , '' )
label = label : gsub ( '^' .. mw . ustring . lower ( prefix ) .. pattern , '' )
ret = string.format ( '[[% s |% s]]' , sitelink , etichetă )
Sfârșit
retur ret
Sfârșit

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

local p = {}

- Funcția pentru {{#invoke: Dioceză | nume}}.
funcția p. nume ( cadru )
argumente locale = getArgs ( cadru , { parentOnly = true })
local ret

dacă arg. Episcopie atunci
ret = '[[Eparhie]]'
altfel
locale instanzaId = getIstanzaId (args. AnnoSconsacr)
dacă instanceId și cfg [ instanceId ] atunci
ret = cfg [ instanceId ] [ 2 ] and
string.format ( '[[% s |% s]]' , cfg [ instanceId ] [ 2 ], cfg [ instanceId ] [ 1 ]) sau
string.format ( '[[% s]]' , cfg [ instanceId ] [ 1 ])
Sfârșit
Sfârșit

retur ret
Sfârșit

- Funcția pentru {{#invoke: Dioceză | valoare}}.
funcția p. valoare ( cadru )
userval local , wdval , instanceId , cat
argumente locale = getArgs ( cadru , { parentOnly = true })

userval = args . Eparhie
instanceId = getIstanzaId (args. AnnoSconsacr)
dacă instanceId și cfg [ instanceId ] atunci
wdval = getDiocesiWlink ( cfg [ instanceId ] [ 1 ])
Sfârșit

dacă mw . titlu . getCurrentTitle (). spațiu de nume == 0 atunci
dacă userval sau wdval atunci
cat = getWikidataCategory ( userval , wdval )
elseif instanceId == 'Q15217609' atunci
cat = error_category
Sfârșit
Sfârșit

return ( userval sau wdval sau '' ) .. ( cat sau '' )
Sfârșit

retur p