summaryrefslogtreecommitdiff
path: root/src/mailman/queue/digest.py
Commit message (Collapse)AuthorAgeFilesLines
* Rename 'queue' directory to 'runners' since not all subprocesses run a queue.Barry Warsaw2011-05-291-368/+0
|
* Reimplement wrap() using modern techniques, and finally get rid of Utils.py!Barry Warsaw2011-03-171-2/+1
|
* Utils.maketext() and Utils.findtext() are gone.Barry Warsaw2011-03-161-10/+10
|
* Move oneline() out of Utils.py.Barry Warsaw2011-02-251-1/+2
|
* Happy New Year.Barry Warsaw2011-01-011-1/+1
|
* Because it was just to damn confusing, rename IAddress.address toBarry Warsaw2011-01-011-3/+3
| | | | | | IAddress.email and IAddress.original_address to IAddress.original_email. From now on we'll use "address" to talk about the IAddress object and "email" to talk about the textual email address.
* Fix the obvious errors identified by pyflakes. Skip false positives (mostlyBarry Warsaw2010-10-081-1/+1
| | | | | due to _() interpolation) and a few other problems that did not have immediately obvious fixes.
* Happy New Year.Barry Warsaw2010-01-011-1/+1
|
* Factor out most of the i18n subsystem and convert to using the flufl.i18nBarry Warsaw2009-11-151-4/+3
| | | | package.
* Add decorations.Barry Warsaw2009-11-011-2/+2
| | | | s/recips/recipients/
* Get rid of one_last_digest. Move this into a separate OneLastDigest table.Barry Warsaw2009-02-221-7/+11
| | | | | | | | | | | | | Make it explicit to get the last digest (I could imagine an user selecting not to). Actually add tests for this. Start to get rid of 'from storm.locals import *' in favor of more specific imports. Start to use Store.of() instead of config.db.store where we can. Rework (delivery)MemberRosters to use the Member attributes. This ensures that the layered lookup happens at the expense of query optimization. Sundry and various cleanups.
* Much clean up of the language code, though more can be done. Factor out theBarry Warsaw2009-02-121-4/+4
| | | | | | | language manager stuff into a separate Language class, and be clearer in the APIs about whether we want a language code or a Language instance. The impetus to this was to get rid of Utils.GetCharSet(), which is done.
* Massive digester rework.Barry Warsaw2009-02-041-0/+365
This moves actual digest creation and sending into a new queue runner. That way, digest creation does not block the main incoming processor. Lots of code clean up and reorganization too, and many fixes. digest_last_sent_at: Make this a DateTime digest_size_threshold: Make this a Float digest_volume_frequency: Make this an Enum DigestFrequency: new enum Fix up IMailingList interface to reflect reality. In Runner base class, allow for msg.get_sender() to return a False value. If this happens (as it can with the empty marker messages used to signal the digester that there's work to do), just use the list's preferred language. Give the retry.py and incoming.py queue runner modules some proper epilogues. The EmptyingRunner (for testing) logs itself as the runner its wrapping. The digest file name now ends in .mmdf since that's the format we're using. Add 'create_list' to doctest globals. Add a Mailbox class to add support for the context manager protocol.