« Module:Person » : différence entre les versions
De Semantic MediaWiki - Sandbox
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 30 : | Ligne 30 : | ||
function p.main( frame ) | function p.main( frame ) | ||
local person = p.getInstanceOfClass() | --local person = p.getInstanceOfClass() | ||
local person = require( 'Module:Person/class' ) | |||
return person:renderPage() | return person:renderPage() | ||
end | end | ||
return p | return p |
Version du 23 décembre 2016 à 23:49
It uses the class on Module:Person/class to process its arguments, store them semantically and displays an infobox.
This module stores its configuration on Module:Person/config.
local p = {}
function adjustData( self, data )
local data = data
if not data.profession then
data.profession = 'unknown'
end
data.firstname = data.firstname or 'John'
data.lastname = data.lastname or 'Doe'
data.name = data.firstname .. ' ' .. data.lastname
if data['date of birth'] and mw.ustring.find( data['date of birth'], '/', 1, true ) then
local date = mw.text.split( data['date of birth'], '/', true )
data['date of birth'] = date[2] .. '.' .. date[1] .. '.' .. date[3]
end
return data
end
function p.getInstanceOfClass()
local config = mw.loadData( 'Module:Person/config' )
local class = require( 'Module:SSC base' )
local object = class:new( config )
object.alterDataAfterStorage = adjustData
return object
end
function p.main( frame )
--local person = p.getInstanceOfClass()
local person = require( 'Module:Person/class' )
return person:renderPage()
end
return p