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

Modul: Wikidata Control

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

Modul care implementează șablonul {{ Control Wikidata }}.


 - [[
* Modul care implementează șablonul de control Wikidata.
]] -
 
require ( „Formular: fără globali” )
 
local getArgs = require ( 'Modul: Argumente' ). getArgs
local mWikidata = require ( 'Modul: Wikidata' )
local p = {}

- Comparați două fișiere media pe Commons, fără a lua în considerare nici un punct de subliniere
funcție locală compareCommonsMediaFile ( nume , nume2 )
nume de întoarcere: gsub ( '_', '') == name2: gsub ( '_', '')
Sfârșit

- Comparați două adrese URL fără a lua în considerare o posibilă bară finală (doar dacă una) și protocolul http / https
comparare funcție locală URL ( url1 , url2 )
local ret = false
url1 , url2 = url1 : match ( '^ https ?: // (. *) $' ), url2 : match ( '^ https ?: // (. *) $' )
dacă url1 și url2 atunci
local n , n2 = select ( 2 , url1 : gsub ( '/' , '' )), selectați ( 2 , url2 : gsub ( '/' , '' ))
dacă n <= 1 și n2 <= 1 atunci
ret = url1 : gsub ( '/ $' , '' ) == url2 : gsub ( '/ $' , '' )
altceva
ret = url1 == url2
Sfârșit
Sfârșit
retur ret
Sfârșit

funcție locală getCategory ( wdval , userval , args )
local comparefunc = function ( v1 , v2 ) return v1 == v2 end
pisică locală

- vă permite să definiți funcții de comparație pentru proprietăți specifice
- (sau prin orice parametri)
dacă mWikidata . _getDatatype ({ args [ 1 ] }) == 'fișier media pe Commons' atunci
comparefunc = compareCommonsMediaFile
elseif args [ 1 ] == 'P856' atunci
comparefunc = compareURL
Sfârșit

dacă utilizează atunci
dacă nu wdval atunci
cat = string.format ( '% s absent pe Wikidata' , args [ 1 ])
elseif arg . egal ~ = 'nu' și comparefunc ( wdval , userval ) atunci
cat = string.format ( '% s la fel pe Wikidata' , args [ 1 ])
elseif arg . diff ~ = 'nu' atunci
cat = string.format ( '% s diferit pe Wikidata' , args [ 1 ])
Sfârșit
elseif wdval atunci
cat = string.format ( '% s citit din Wikidata' , args [ 1 ])
Sfârșit
 
returnează cat și string.format ( '[[% sCategorie:% s]]' , argug . debug și ':' sau '' , cat )
Sfârșit
 
- Pentru utilizare de către alte module
funcția p . _principal ( argumente )
local wdprop , userval = args [ 1 ], args [ 2 ]
 
- spațiul de nume 0 și proprietățile Wikidata sunt necesare
dacă mw . titlu . getCurrentTitle (). namespace ~ = ( tonumber ( args . ns ) sau 0 ) sau nu wdprop atunci
întoarceți zero
Sfârșit

local wdval = mWikidata . _getProperty ({
wdprop ,
unit = args . unitate ,
showunit = args . showunit ,
din = args . depanare și argumente . din
})

returnează getCategory ( wdval , userval , args )
Sfârșit
 
- Funcția pentru șablon {{Verificare Wikidata}}
funcția p . principal ( cadru )
retur p . _main ( getArgs ( cadru , { parentOnly = true }))
Sfârșit
 
retur p