Aller au contenu

Module:Lien frontière

Une page de Wikipédia, l'encyclopédie libre.
Ceci est une version archivée de cette page, en date du 25 octobre 2017 à 00:38 et modifiée en dernier par Od1n (discuter | contributions) (génération complète du lien en Lua). Elle peut contenir des erreurs, des inexactitudes ou des contenus vandalisés non présents dans la version actuelle.

 Documentation[créer] [purger]
local p = {}
local Drapeau = require 'Module:Drapeau'
local Outils = require 'Module:Outils'

function p.genereLien(frame)
    local paysA = Outils.trim(frame.args[1])
    local paysB = Outils.trim(frame.args[2])

    local premierPays = p.minimum(paysA, paysB)
    local premierTexteDrapeau = Drapeau.pays(frame:newChild{args = {
        [1] = premierPays,
        domaine = 'drapeau',
        align = 'non',
        t = '0',
    }})
    local premierTextePays = p.traitePrefixe(premierTexteDrapeau)

    local secondPays = p.maximum(paysA, paysB)
    local secondTexteDrapeau = Drapeau.pays(frame:newChild{args = {
        [1] = secondPays,
        domaine = 'drapeau',
        align = 'non',
        t = '0',
    }})
    local secondTextePays = p.traitePrefixe(secondTexteDrapeau)

    local texteLien = paysB
    local suffixe = Outils.trim(frame.args[3])
    if suffixe then
        texteLien = texteLien .. ' ('.. suffixe ..')'
    end

    return '[[Frontière entre ' .. premierTextePays .. ' et ' .. secondTextePays .. '|' .. texteLien .. ']]'
end

function p.traitePrefixe(texte)
    local result, count = texte
        :gsub("^Drapeau de ", "")
        :gsub("^Drapeau du ", "le ")
        :gsub("^Drapeau des ", "les ")
        :gsub("^Drapeau d'", "")
    return result
end

--[[
function that compare two string as plain text.
]]
function p.compare(a, b)
    if a >  b then return -1 end
    if a <  b then return 1 end
    return 0
end

function p.minimum(a, b)
    if a >  b then return b else return a end
end

function p.maximum(a, b)
    if a >=  b then return a else return b end
end

return p