« Module:ConvertCourtCode » : différence entre les versions
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 | ||