[Mailman-Developers] Adding keys in the configuration file

Barry Warsaw barry at list.org
Thu Sep 13 21:48:34 CEST 2012


On Sep 13, 2012, at 04:07 PM, Aurelien Bompard wrote:

>I didn't intend to put all of HK's config in mailman.cfg of course.  But I'm
>supposed to reference a class in the archiver.hyperkitty section, which will
>be imported on startup, so it must be on the same host.  Since there are
>already archiver-specific configuration keys there, like a command to run or
>an email address to forward to, I supposed it would be OK to add a "conffile"
>key that I could use.

Remember too that the HyperKitty implementation of IArchiver can kind of do
whatever it wants to do.

It is a limitation of lazr.config that you can't set arbitrary variables in
config file sections, i.e. ones that are not defined in the schema.cfg.
That's unfortunate and maybe something we'll have to fix, workaround, or find
a substitute for lazr.config (which we may have to do anyway if/when MM3 moves
to Python 3).

>So what's the best way ? Add a "conf_file" key to schema.cfg ?
>Something else, maybe more extendable ?

If you wanted to implement this without code changes to the core, I'd reuse
the `base_url` variable, and inside the HyperKitty IArchiver implementation,
I'd interpret that as the url to a configuration file.  Kind of icky I know,
but it's probably the best you can do without changing schema.cfg.

OTOH, if you wanted to propose a patch/branch to MM3, then I'd probably
suggest a more general approach of adding a `configure` variable to
[archiver.master] and giving this semantics similar to [passwords]path as
described previously.

This [archiver.*]configure would name the path to a ini style file that
doesn't have the lazr.config schema limitation.  Then inside there, you could
add anything that HyperKitty would need.

This would be nice because we could probably even remove recipient and command
from the general [archiver.master] section, and move them to the specific
mail-archive.com and mhonarc .ini files (which would have to be added, but
that's easy).

Cheers,
-Barry


More information about the Mailman-Developers mailing list