[Mailman-Developers] pipermail - threading with subjects

Stuart Donaldson stuartd@alerton.com
Wed, 23 Jan 2002 13:15:13 -0800

I have found a bug and possible fix for threading by subject not working as
a fallback if In-Reply-To and References headers are missing. What's the
status, and who is the maintainer of pipermail?    ie: To whom should I
address further inquiries, or should they go directly to the list?

I posted a problem on the mailman-users list I had with threading not
working with Outlook.  

It turns out that Outlook/Exchange are not passing through the In-Reply-To:
header.  On inspecting code in pipermail.py, it appears that if there is no
In-Reply-To: header, that it should fall-back to threading to the earliest
matching subject.

However the code in pipermail to implement this is broken.

In particular, there appear to be a few problems:
 1) HyperDatabase.HyperDatabase class getOldestArticle() method looks like
it expects self.subjectIndex.set_location() to return a value which it does
not.  I think it should rather be using the return value of

 2) subjectIndex.DumbBTree class implementation of set_location(subject)
expects an exact match on the subject, however the key to that data is
actually a tuple (subject, date, msgid) 

 3) The parsing of the key in getOldestArticle() looks like it is expecting
a single string for the key, rather than a tuple, so once the previous two
problems have been addressed it still fails to parse the string.

I have fixed this problem for myself, but the state of the database classes
looks like it might be in flux.  There is also the BSDDBdatabase class which
does not seem to be used, and may be either obsolete, or something coming.
It also looks to have the same problem.


Stuart Donaldson
Alerton Technologies Inc.