Skip to content

Rework digests and add a send-digests subcommand.

username-removed-56772 requested to merge warsaw/mailman:digests into master

Several improvements to digests, including a fix for issue #159 (closed), allowing digest_send_periodic and digest_volume_frequency to be set through the REST API. This also adds a mailman send-digests subcommand which replaces the MM2.1 senddigests cron script.

This branch also renames digestable to digests_enabled and gets rid of the unused nondigestable attribute on IMailingList objects. Another change is to rename the data directory for mailing lists from using the list's fqdn list name to using its List-ID.

@abompard I'll be especially interested in your take for 70af5a4e5790_digests.py where I'm using a batch_alter_table to rename the column. This works without any need to special case SQLite, and is a newish feature of SQLAlchemy. It uses a suggestion of mine from a while ago (and based on an implementation we used to carry when we were using Storm), where for databases that have an actual ALTER command, it just DTRT, but for SQLite which doesn't, it creates a new table and migrates the data to it, then pivots the new table in place. AFAICT, it's working perfectly in the SQLite case locally, so let's see how CI with PostgreSQL goes.

@abompard I'll also be interested in your opinion of the send-digest command since in your live lists there previously was no way to send digests on a daily basis when the size threshold hadn't been met.

Merge request reports