summaryrefslogtreecommitdiff
path: root/src/mailman/queue/docs
Commit message (Collapse)AuthorAgeFilesLines
* TweaksBarry Warsaw2009-08-241-3/+4
|
* Test updates and repair.xoBarry Warsaw2009-08-212-4/+6
|
* Expose 'transaction' as an alias for config.db in the doctest globs. ThisBarry Warsaw2009-07-213-3/+4
| | | | | | | | means commit() is now transaction.commit() in doctests. Add tests of extended domain creation, which exposes the need to unlock the database (via transaction.abort()) so that the foreground test process doesn't lock the background REST server process.
* Our first writable REST API! You can now create new domains through theBarry Warsaw2009-07-201-3/+4
| | | | | | | | | webserver. Fix the https/http urls. Add the adapter for HTTPCharsets so POSTs work properly. Nice little cargo cult from lazr.restful.
* De-u-literal-ify our doctests.Barry Warsaw2009-07-188-47/+55
|
* More tests for the REST server, this time, for the queue runner.Barry Warsaw2009-05-101-0/+23
| | | | | | | | | | | Add logging to the RESTRunner. Also, use pkg_resources.resource_stream() instead of .resource_string() where appropriate. Add a bunch of XXX comments for things I need to figure out about the Zope-ish parts of the lazr.restful implementation. Change __getitem__() api to _lookup().
* Move the Action and NewsModeration enums into their own interface files.Barry Warsaw2009-03-251-2/+2
|
* Get rid of one_last_digest. Move this into a separate OneLastDigest table.Barry Warsaw2009-02-221-37/+158
| | | | | | | | | | | | | 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.
* Major cleanup of the automatic response stuff.Barry Warsaw2009-02-192-3/+0
| | | | | | | | | inject_message() grows a keyword argument dictionary which gets merged into the message metadata. Move NODELTA into the autorespond interface as ALWAYS_REPLY. Convert the integer response values into the ResponseAction enum.
* Clean up and reorganization languages and the language manager.Barry Warsaw2009-02-101-2/+0
|
* Move mailman.Message to mailman.email.Message. Rename Message.get_sender() toBarry Warsaw2009-02-091-1/+0
| | | | | | | | | Message.sender (property) and Message.get_senders() to Message.senders (another property). The semantics of .sender is slightly different too; it no longer consults config.mailman.use_envelope_sender. Add absolute_import and unicode_literals to Utils.py, and clean up a few imports.
* Repair some test failures and fix a doc typo as reported by Patrick Koetter.Barry Warsaw2009-02-042-22/+12
|
* Massive digester rework.Barry Warsaw2009-02-041-0/+484
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Push the source directory into a 'src' subdirectory so that zc.buildout worksBarry Warsaw2009-01-259-0/+1071
correctly regardless of how it's used.