« Module:ConvertCourtCode » : différence entre les versions
Aller à la navigation
Aller à la recherche
Création du module |
MIse à jour afin d'obtenir aussi le code du tribunal pour la forme suivante : Au Bar La Marraine, 2018 CanLII 44720 (QC RACJ) |
||
| (Une version intermédiaire par le même utilisateur non affichée) | |||
| Ligne 2 : | Ligne 2 : | ||
local nomsComplets = { | local nomsComplets = { | ||
QCTAQ = "Tribunal administratif du Québec", | QCTAQ = "du Tribunal administratif du Québec", | ||
QCRACJ = "Régie des alcools, des courses et des jeux", | QCRACJ = "de la Régie des alcools, des courses et des jeux", | ||
QCCA = "Cour d'appel du Québec", | QCCA = "de la Cour d'appel du Québec", | ||
QCCS = "Cour supérieure du Québec", | QCCS = "de la Cour supérieure du Québec", | ||
QCCQ = "Cour du Québec", | QCCQ = "de la Cour du Québec", | ||
QCCM = " | QCCM = "d'une Cour municipale" | ||
} | } | ||
function p.extraireNomTribunal(frame) | function p.extraireNomTribunal(frame) | ||
local texte = frame.args[1] or "" | local texte = frame.args[1] or "" | ||
-- | local code = nil | ||
-- 1. Essayer d'extraire le code entre parenthèses (ex: (QC RACJ)) | |||
local brutParenthese = string.match(texte, "%(([%sA-Z]+)%)%s*$") | |||
if brutParenthese then | |||
code = string.gsub(brutParenthese, "%s+", "") | |||
end | |||
-- 2. Sinon, essayer d'extraire le code après l'année (ex: 2025 QCRACJ 19) | |||
if not code then | |||
code = string.match(texte, ",%s*%d%d%d%d%s+([A-Z]+)") | |||
end | |||
-- Retourner le nom complet s’il est connu | |||
if code and nomsComplets[code] then | if code and nomsComplets[code] then | ||
return nomsComplets[code] | return nomsComplets[code] | ||
elseif code then | elseif code then | ||
return code -- retourne | return code -- code inconnu, retourne tel quel | ||
else | else | ||
return "" | return "" -- rien trouvé | ||
end | end | ||
end | end | ||
return p | return p | ||
Dernière version du 31 mai 2025 à 16:09
La documentation pour ce module peut être créée à Module:ConvertCourtCode/doc
local p = {}
local nomsComplets = {
QCTAQ = "du Tribunal administratif du Québec",
QCRACJ = "de la Régie des alcools, des courses et des jeux",
QCCA = "de la Cour d'appel du Québec",
QCCS = "de la Cour supérieure du Québec",
QCCQ = "de la Cour du Québec",
QCCM = "d'une Cour municipale"
}
function p.extraireNomTribunal(frame)
local texte = frame.args[1] or ""
local code = nil
-- 1. Essayer d'extraire le code entre parenthèses (ex: (QC RACJ))
local brutParenthese = string.match(texte, "%(([%sA-Z]+)%)%s*$")
if brutParenthese then
code = string.gsub(brutParenthese, "%s+", "")
end
-- 2. Sinon, essayer d'extraire le code après l'année (ex: 2025 QCRACJ 19)
if not code then
code = string.match(texte, ",%s*%d%d%d%d%s+([A-Z]+)")
end
-- Retourner le nom complet s’il est connu
if code and nomsComplets[code] then
return nomsComplets[code]
elseif code then
return code -- code inconnu, retourne tel quel
else
return "" -- rien trouvé
end
end
return p