[Mailman-Developers] Patch for HyperArch

Sebastian Hagedorn Hagedorn at uni-koeln.de
Fri Mar 11 09:39:42 EST 2016


--On 10. März 2016 um 17:00:18 -0800 Mark Sapiro <mark at msapiro.net> wrote:

> I have reported this bug and fixed it. The bug is
> <https://bugs.launchpad.net/mailman/+bug/1555798> and the fix is
> <http://bazaar.launchpad.net/~mailman-coders/mailman/2.1/revision/1633>
>
> The fix looks at message timestamps in the following order:
>
> The Date: header if any
> An X-List-Received-Date header if any
> The last Received: header if any
> The Unix From_ line
>
> The first parseable date which is in the current epoch (>= 1970) and not
> more than mm_cfg.ARCHIVER_ALLOWABLE_SANE_DATE_SKEW (default 15 days) in
> the future is accepted. If none of those produce an acceptable date, the
> current time is used.
>
> This differs from past behavior by the addition of range checks on the
> date and the addition of Received: and Unix From_ date checks.
>
> The Received: header check is important. For an "imported" mbox, the
> From_ separators may reflect when the mbox was exported from it's source
> rather than the message date. If the messages have Received: headers,
> the later ones at least tend to have good dates.

Thanks. I applied the patch and tried ro re-archive the list in question. 
Now I get this:

Schreibe Archivzustand in Datei 
/var/lib/mailman/archives/private/linux-users/pipermail.pck
Traceback (most recent call last):
  File "./bin/arch", line 201, in <module>
    main()
  File "./bin/arch", line 189, in main
    archiver.processUnixMailbox(fp, start, end)
  File "/usr/lib/mailman/Mailman/Archiver/pipermail.py", line 597, in 
processUnixMailbox
    a = self._makeArticle(m, self.sequence)
  File "/usr/lib/mailman/Mailman/Archiver/HyperArch.py", line 688, in 
_makeArticle
    mlist=self.maillist)
  File "/usr/lib/mailman/Mailman/Archiver/HyperArch.py", line 264, in 
__init__
    self.__super_init(message, sequence, keepHeaders)
  File "/usr/lib/mailman/Mailman/Archiver/pipermail.py", line 187, in 
__init__
    self._set_date(message)
  File "/usr/lib/mailman/Mailman/Archiver/HyperArch.py", line 600, in 
_set_date
    self.__super_set_date(message)
  File "/usr/lib/mailman/Mailman/Archiver/pipermail.py", line 256, in 
_set_date
    message.get('received'), flags=re.S))
  File "/usr/lib/python2.7/re.py", line 155, in sub
    return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or buffer

For the time being, I have reverted the patch.
-- 
    .:.Sebastian Hagedorn - Weyertal 121 (Gebäude 133), Zimmer 2.02.:.
                 .:.Regionales Rechenzentrum (RRZK).:.
   .:.Universität zu Köln / Cologne University - ✆ +49-221-470-89578.:.


More information about the Mailman-Developers mailing list