[Mailman-Users] running External Archiver on background/foreground
Mark Sapiro
mark at msapiro.net
Tue Jan 15 14:29:28 CET 2008
Mohamed CHAARI wrote:
>
> As I really need to keep possibility to have both MM archiving and
> external one, I've made a small patch on Mailman, so that it accepts
> both internal archiving (pipermail) and external archiving (if enabled).
> In this way, there is no longer need to call 'arch' in
> 'external_arch.pl' script, and thus, this script doesn't need to be run
> in background.
>
> But I would like to have your opinion (Mark and others), about this patch:
> - is there any side effect ?
> - can there be problems (or conflicts) when receiving and archiving many
> mails ?
>
> here's the patch (on 'Archiver.py'):
>
> --- /home/mailman/Mailman/Archiver/Archiver.orig.py 2008-01-11
> 19:40:44.000000000 +0100
> +++ /home/mailman/Mailman/Archiver/Archiver.py 2008-01-11
> 19:44:54.000000000 +0100
> @@ -201,20 +201,22 @@
> # Archive to mbox only.
> return
> txt = str(msg)
> - # should we use the internal or external archiver?
> +
> + # keep using the internal archiver
> + f = StringIO(txt)
> + import HyperArch
> + h = HyperArch.HyperArchive(self)
> + h.processUnixMailbox(f)
> + h.close()
> + f.close()
> +
> + # now, use the external archiver (if enabled)
> private_p = self.archive_private
> if mm_cfg.PUBLIC_EXTERNAL_ARCHIVER and not private_p:
> self.ExternalArchive(mm_cfg.PUBLIC_EXTERNAL_ARCHIVER, txt)
> elif mm_cfg.PRIVATE_EXTERNAL_ARCHIVER and private_p:
> self.ExternalArchive(mm_cfg.PRIVATE_EXTERNAL_ARCHIVER, txt)
> - else:
> - # use the internal archiver
> - f = StringIO(txt)
> - import HyperArch
> - h = HyperArch.HyperArchive(self)
> - h.processUnixMailbox(f)
> - h.close()
> - f.close()
> +
>
> #
> # called from MailList.MailList.Save()
The above patch looks fine to me for what you want to do.
--
Mark Sapiro <mark at msapiro.net> The highway is for gamblers,
San Francisco Bay Area, California better use your sense - B. Dylan
More information about the Mailman-Users
mailing list