From: Tero Tilus <tero@tilus.net>
To: Sup users <sup-talk@rubyforge.org>
Subject: Re: [sup-talk] best method for before-add-message.rb
Date: Sun, 13 Feb 2011 11:51:02 +0200 [thread overview]
Message-ID: <1297589599-sup-596@tilus.net> (raw)
In-Reply-To: <1297560324-sup-4333@niflheimr>
Moritz Wilhelmy, 2011-02-13 03:34:
> what would be the best way to match - for instance - the
> List-Id-Header in case it's present?
List-Id is a whole separate kind of beast. My stragy dealing with it
looks like this. Comments in finnish. Go google translate. ;)
== clip from ~/.sup/hooks/before-add-message.rb ==
hdr = message.raw_header
# Yritetään hakea listalle label List-Id headerista ja jos sellaista
# ei ole (mm. pipermail-arkistot) niin otsikkoriviltä [listanimestä].
# Listaheadereita on montaa sorttia
#
# List-Id: effi-alert.winston.effi.org
# List-Id: <effipalvelin.winston.effi.org>
# List-Id: EFFIn hallituksen keskusteluja <board.effi.org>
# List-Id: =?iso-8859-1?q?Keski-Suomen_EFFIl=E4iset?= <ks-effi.lists.jyu.fi>
# List-Id: "Hear ry:n julkinen tiedotuslista: Radio Hear, Linnunlaulupubi,
# List-Id: =?iso-8859-1?q?El=E4m=E4_on_peli=E4=2C_j=E4rjest=E4j=E4lista?=
if m = (hdr.match(/^List-Id: +[^<]*<([^>\s]+)> *$/i) or # tyyppi 1
hdr.match(/^List-Id: +([^<>=\s]+) *$/i) or # tyypit 2-4
hdr.match(/^Subject: +\[ *([^\] ]+) *\]/i))
list_id = m[1]
list_id = 'effi-hallitus' if list_id == 'board.effi.org'
list_id = 'effi-asiantuntijat' if list_id == 'asiantuntijat.effi.org'
list_id = 'maahinkainen-jasenet' if list_id == 'jasenet.maahinkainen.org'
list_id = 'lev' if list_id == 'lev-list'
list_id = list_id.split('.', 2)[0].downcase
message.add_label list_id
end
== clip end ==
> Can I pull arbitrary, parsed headers directly out of the message
> object, or do I have to do my own parsing?
Uh, oh. Looks like no, but it is pretty close, berause
Message#parse_header already builds parsed hash of arbitrary headers
internally.
--
Tero Tilus ## 050 3635 235 ## http://tero.tilus.net/
_______________________________________________
sup-talk mailing list
sup-talk@rubyforge.org
http://rubyforge.org/mailman/listinfo/sup-talk
next prev parent reply other threads:[~2011-02-13 10:25 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-02-10 14:44 Philippe LeCavalier
2011-02-10 16:40 ` Mark Alexander
[not found] ` <1297356327-sup-9107@plc.intranet.plecavalier.com>
[not found] ` <1297357197-sup-5893@bloovis.org>
2011-02-10 19:19 ` Philippe LeCavalier
2011-02-10 22:09 ` Philippe LeCavalier
2011-02-13 1:34 ` Moritz Wilhelmy
2011-02-13 9:51 ` Tero Tilus [this message]
2011-02-13 13:00 ` [sup-talk] How to treat List-Id headers (Was: best method for before-add-message.rb) Moritz Wilhelmy
2011-02-13 17:45 ` [sup-talk] best method for before-add-message.rb Rich Lane
2011-02-13 17:12 ` Hamish D
2011-02-13 18:08 ` Philippe LeCavalier
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1297589599-sup-596@tilus.net \
--to=tero@tilus.net \
--cc=sup-talk@rubyforge.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox