From a503aca3a4c71b2e7ce8505275921002c031596d Mon Sep 17 00:00:00 2001
From: Antoine Bernard <abernard@crans.org>
Date: Mon, 26 Jun 2017 05:04:19 +0200
Subject: [PATCH] [procmail] Trie des mails de Phabricator
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

On propose de trier les mails de notifications de Phabricator.
Technique : nounous, Crans technique, apprentis
Administratif : ca, séminaire et atelier crans
BDE : respos-info_bde
---
 .procmail/rc/phabricator.rules | 38 ++++++++++++++++++++++++++++++++++
 .procmailrc                    | 22 ++++++++++++++++++++
 2 files changed, 60 insertions(+)
 create mode 100644 .procmail/rc/phabricator.rules

diff --git a/.procmail/rc/phabricator.rules b/.procmail/rc/phabricator.rules
new file mode 100644
index 0000000..ccb13ad
--- /dev/null
+++ b/.procmail/rc/phabricator.rules
@@ -0,0 +1,38 @@
+# Complémentaire au .procmailrc générique mis à votre disposition
+# par les gentils membres actifs du Cr@ns
+# Vous pouvez l'utiliser, le redistribuer, le modifier à votre convenance.
+# Des questions, des suggestions : {nounou,ca}@lists.crans.org
+# Licence : WTFPL
+
+# Ce fichier permet de trier les mails envoyés par le Phabricator du Cr@ns
+
+#------------------------------------------------------------------------------
+# On trie par projet
+:0
+* ^X-Phabricator-Projects:.*
+{
+  #Les projets techniques
+  :0c
+  * PHABRICATOR ?? \<\#(crans_technique|nounous|apprentis)
+  ${PHABRICATORTECHNIQUEDIR}/
+  
+  #Les projets administratifs
+  :0c
+  * PHABRICATOR ?? \<\#(ca|séminaire_atelier_crans)
+  ${PHABRICATORADMINISTRATIFDIR}/
+  
+  #Les projets des respos-infos du BDE
+  :0c
+  * PHABRICATOR ?? \<\#respos-info_bde
+  ${PHABRICATORBDEDIR}/
+}
+
+# Au cas ou ça ne passe pas le filtre
+:0
+* ! LASTFOLDER ?? .
+${PHABRICATORDIR}/
+
+:0
+*
+/dev/null
+
diff --git a/.procmailrc b/.procmailrc
index 9d54431..ef4bd42 100644
--- a/.procmailrc
+++ b/.procmailrc
@@ -387,6 +387,11 @@ FEDEREZDEBIANDIR="${FEDEREZADMINDIR}.Debian-updates"
 FEDEREZPASSWORDSDIR="${FEDEREZADMINDIR}.federezpasswords"
 FEDEREZOVHDIR="${FEDEREZADMINDIR}.OVH"
 
+### Dossier racine pour les mails de Phabricator
+PHABRICATORDIR=".Phabricator"
+PHABRICATORTECHNIQUEDIR="${PHABRICATORDIR}.Technique"
+PHABRICATORADMINISTRATIFDIR="${PHABRICATORDIR}.Administratif"
+PHABRICATORBDEDIR="${PHABRICATORDIR}.BDE"
 
 
 ################################################################################
@@ -409,6 +414,11 @@ SUBJECT=| formail -cXSubject: | perl -MEncode -pe '$_=encode("utf-8",decode("MIM
 :0
 * ^List-ID:
 LISTID=| formail -cXList-ID: | perl -MEncode -pe '$_=encode("utf-8",decode("MIME-Header",$_))'
+
+:0
+* ^X-Phabricator-Projects:
+PHABRICATOR=| formail -cXX-Phabricator-Projects: | perl -MEncode -pe '$_=encode("utf-8",decode("MIME-Header",$_))'
+
 #~# # Pour faire fonctionner correctement le tri des mails envoyés par Discourse,
 #~# # Décommenter le INCLUDERC suivant
 #~# INCLUDERC="${CONFIGDIR}/discourse.preprocessing"
@@ -792,6 +802,18 @@ ${PAIEMENTSDIR}/
   ${CRONPERSODIR}/
 }
 
+#################################################################
+##              Gestion des mails de Phabricator               ##
+#################################################################
+
+:0
+* ^(X-Phabricator-Sent-This-Message: Yes|From:.*<noreply@phabricator.crans.org>)
+{
+  #~# # Par défaut, on ne trie pas les mails de Phabricator, pensez à décommenter
+  #~# # le INCLUDERC (et à copier le fichier complémentaire) pour les trier
+  #~# INCLUDERC=${CONFIGDIR}/phabricator.rules
+}
+
 
 #################################################################
 ##              Inclusion des règles personnelles              ##
-- 
GitLab