« Module:Person » : différence entre les versions

De Semantic MediaWiki - Sandbox

Aucun résumé des modifications
Aucun résumé des modifications
Ligne 1 : Ligne 1 :
local p = {}
local p = {}


function p.main( frame )
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 config = mw.loadData( 'Module:Person/config' )
local class = require( 'Module:SSC base' )
local class = require( 'Module:SSC base' )
local person = class:new( config )
person.alterDataAfterStorage = function ( self, data )
local object = class:new( config )
local data = data
object.alterDataAfterStorage = adjustData
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
return object
end
function p.main( frame )
local person = p.getInstanceOfClass()
return person:renderPage()
return person:renderPage()
end
end


return p
return p

Version du 20 décembre 2016 à 12:43

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()
	return person:renderPage()
end

return p
Les cookies nous aident à fournir nos services. En utilisant nos services, vous acceptez notre utilisation de cookies.