Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > fr.comp.lang.python > #2939
| From | Doug713705 <doug.letough@free.fr> |
|---|---|
| Newsgroups | fr.comp.lang.python |
| Subject | Re: [Mailman] Passerelle mail -> news groupe modéré |
| Date | 2016-10-08 21:16 +0000 |
| Organization | Les cassoulets tropicaux reunis |
| Message-ID | <ntbnnv$sp0$1@golgoth99.redatomik.org> (permalink) |
| References | <slrnnvfgjm.22o.invalid@mbp.gegeweb.org> <slrnnvg0q5.2v3.invalid@mbp.gegeweb.org> <slrnnvh2ao.mi.invalid@mbp.gegeweb.org> <ntah6h$4m1$2@golgoth99.redatomik.org> <slrnnvhm1o.pa.invalid@mbp.gegeweb.org> |
Le 08-10-2016, Gérald Niel nous expliquait dans
fr.comp.lang.python
(<slrnnvhm1o.pa.invalid@mbp.gegeweb.org>) :
> Le Samedi 08 octobre 2016 à 10:18 UTC, Doug713705 écrivait sur
> fr.comp.lang.python :
>
>> Il faudrait déjà avoir un bout de code d'exemple de handler.
>> J'ai la flemme de fouiller mailman qui est quand même une belle usine à
>> gaz.
>
> En fait ça se passe là
> Mailman/Queue/NewsRunner.py
>
> Les Handler c'est visiblement pour ne pas toucher au code. J'ai pas
> encore tout compris non plus. C'est expliqué là
><https://wiki.list.org/DOC/4.67%20How%20do%20I%20implement%20a%20custom%20handler%20in%20Mailman%2C%20e.g.%20to%20mung%20headers%20or%20filter%20posts%20based%20on%20regex%20searches%20of%20the>
Bon, j'ai jeté un oeil à ce bazar.
Ce n'est pas bien compliqué et un exemple de handler est foruni:
https://wiki.list.org/DOC/4.67%20How%20do%20I%20implement%20a%20custom%20handler%20in%20Mailman%2C%20e.g.%20to%20mung%20headers%20or%20filter%20posts%20based%20on%20regex%20searches%20of%20the?action=AttachFile&do=view&target=MyHandler.py
(Et oui, ça existe encore des URLs aussi pourraves !)
> Et il y a la pipeline 'ToUsenet',
> mais tout ça j'ai pas encore tout compris non plus. ;)
Bon, là je ne sais pas de quoi tu parles, je n'ai pas de pipeline
ToUsenet chez moi mais si je comprends bien cette doc:
https://wiki.list.org/DOC/4.67%20How%20do%20I%20implement%20a%20custom%20handler%20in%20Mailman%2C%20e.g.%20to%20mung%20headers%20or%20filter%20posts%20based%20on%20regex%20searches%20of%20the?action=show&redirect=DOC%2F4.67+How+do+I+implement+a+custom+handler+in+Mailman%3F
Il faut, une fois le handler écrit, il faut configurer le pipeline
(ToUsenet dans ton cas ?) pour qu'il prenne en charge le handler.
Typiquement le pipeline est simplement la suite de traitement que subi
un mail avant d'être accepeté ou rejeté.
L'acceptation ou le rejet dépendant du retour faits par les handlers
enregistré dans le pipeline.
Simple, efficace, pythonic quoi :)
En gros, il te faut commencer par écrire ton handler en te basant sur
l'exemple et suivre la doc pour enregistrer ce handler dans le pipeline
qui va bien.
Pour le handler, en regardant très vite fait, il faudra simplement que
tu check que le header de ton choix a bien la bonne valeur et si ce
n'est pas le cas tu le balance en DISCARD.
en gros:
<Tous les imports>
DISCARD = re.compile(r'Je ne veux pas voir ça', re.IGNORECASE)
def process(mlist, msg, msgdata):
if DISCARD.search(msg['ton_header']):
# Discard silencieusement les messages
Moderate.do_discard(mlist, msg)
else:
# Accept le message
msgdata['approved'] = 1
msgdata['adminapproved'] = 1
return
Et tu dégages tout le reste qui ne concerne que l'analyse du corps du
message.
Bon, c'est "en gros", ça ne fonctionnera probablement pas tel quel, il
va falloir s'assurer que ton_header est bien visible depuis ton handler
et que "Moderate.do_discard(mlist, msg)" et les "msgdata[..." feront
bien le boulot attendu dans ton cas qui n'est pas un envoi vers la liste
mais, si j'ai bien compris, vers Usenet.
--
Je ne connaîtrai rien de tes habitudes
Il se peut même que tu sois décédée
Mais j'demanderai ta main pour la couper
-- H.F. Thiéfaine, L'ascenceur de 22H43
Back to fr.comp.lang.python | Previous | Next — Previous in thread | Next in thread | Find similar
Re: [Mailman] Passerelle mail -> news groupe modéré Gérald Niel <invalid@gegeweb.org> - 2016-10-08 05:51 +0000
Re: [Mailman] Passerelle mail -> news groupe modéré Doug713705 <doug.letough@free.fr> - 2016-10-08 10:18 +0000
Re: [Mailman] Passerelle mail -> news groupe modéré Gérald Niel <invalid@gegeweb.org> - 2016-10-08 11:27 +0000
Re: [Mailman] Passerelle mail -> news groupe modéré Doug713705 <doug.letough@free.fr> - 2016-10-08 18:56 +0000
Re: [Mailman] Passerelle mail -> news groupe modéré Gérald Niel <gerald.niel+spam@gegeweb.invalid> - 2016-10-09 12:15 +0000
Re: [Mailman] Passerelle mail -> news groupe modéré Doug713705 <doug.letough@free.fr> - 2016-10-09 17:53 +0000
Re: [Mailman] Passerelle mail -> news groupe modéré Doug713705 <doug.letough@free.fr> - 2016-10-08 21:16 +0000
Re: [Mailman] Passerelle mail -> news groupe modéré Gérald Niel <gerald.niel+spam@gegeweb.invalid> - 2016-10-09 18:01 +0000
Re: [Mailman] Passerelle mail -> news groupe modéré Doug713705 <doug.letough@free.fr> - 2016-10-09 19:23 +0000
Re: [Mailman] Passerelle mail -> news groupe modéré yves <yves@free.invalid> - 2016-10-08 13:19 +0000
csiph-web