Module:Gares TER SNCF/Bac à sable

Une page de Wikipédia, l'encyclopédie libre.

 Documentation[créer] [purger]
local Lien = { }

local Outils = require( 'Module:Outils' )
local TableBuilder = require( 'Module:TableBuilder' )

local trim = Outils.trim
 
local function lcfirst( str )
	return string.lower( mw.ustring.sub( str, 1, 1 ) ) .. mw.ustring.sub( str, 2 )
end
 

function Lien.garesTERSNCF( frame )
	
	local args = Outils.extractArgs( frame )
	-- La table wiki va recevoir tout les petits bouts de texte, et sera concaténtée à la fin.
	-- Elle utilise la metat-table de TableBuilder, permettant d'utiliser les fonctions de la
	-- librairy table comme des mèthodes. minsert permet d'insérer plusieurs élément en une
	-- seule fois en, ignorant les paramètre nil.
	local wiki = TableBuilder.new()
	local region = args['région'] or args[1]
	local code_gare = nil
	local code_uic = args['code_uic']
	local titre = nil
	local consulte = nil
	local p = nil
	
	if( args['région'] ~= nil ) then
		code_gare = args['code_gare'] or args[1]
		p = 1
	else
		code_gare = args['code_gare'] or args[2]
		p = 2
	end
	
	if( args['code_gare'] ~= nil ) then
		titre = args['titre_gare'] or args[p]
	else
		titre = args['titre_gare'] or args[p+1]
		p = p + 1
	end
	
	if( args['titre_gare'] ~= nil ) then
		consulte = args['consulté_le'] or args[p]
	else
		consulte = args['consulté_le'] or args[p+1]
	end
	code_gare = trim(code_gare)
	--Variables servant à la catégorisation
	local categLangue
	code_gare = string.gsub ( code_gare, ' ', '_' )
	code_gare = string.gsub ( code_gare, 'é', 'e' )
	code_gare = string.gsub ( code_gare, 'ô', 'o' )
	local page = lcfirst(mw.title.getCurrentTitle().text);
	if titre == nil or not Outils.notEmpty(titre) then
		titre = "La " .. page 
	end
	titre = titre .. "] sur [[TER " .. region .. "|ter.sncf.com " .. region .. "]], un site officiel de la [[Société nationale des chemins de fer français|SNCF]]"
	if region == "Provence-Alpes-Côte d'Azur" then
		region = "paca"
	end
	if consulte ~= nil and Outils.notEmpty(consulte) then
		consulte = " consulté le " .. consulte
	end
	
	if code_uic ~= nil then
		wiki.minsert("[http://www.ter.sncf.com/")
		wiki.minsert(string.lower(region))
		wiki.minsert("/gares/87")
		wiki.minsert(code_uic)
		wiki.minsert("/")
		wiki.minsert(code_gare)
		wiki.minsert("/pratique ")
		wiki.minsert(titre)
		wiki.minsert(consulte)
	else
		wiki.minsert("[http://www.ter-sncf.com/Region/")
		wiki.minsert(string.lower(region))
		wiki.minsert("/gare/")
		wiki.minsert(code_gare)
		wiki.minsert(titre)
		wiki.minsert(consulte)
		if mw.title.getCurrentTitle().namespace == 0 then
		wiki.minsert("[[catégorie:Article gare TER à mettre à jour]]")
	end
	end
	return wiki.concat()
end


return Lien