| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |\
| |
| |
| | |
underlying REST framework.
|
| | |
| |
| |
| |
| |
| | |
RESTful. We have to use httplib2 to get DELETE and PUT.
This is a prototype and could still use much cleanup.
|
| |\ \
| |/
|/| |
|
| |/ |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
* delete_member(): If the address is not associated with a member, raise
NotAMemberError.
* NotAMemberError -> interfaces/member.py
|
| |
|
|
| |
applications.
|
| |
|
|
| |
Fix a test to use pkg_resources instead of open.
|
| | |
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
webserver.
Fix the https/http urls.
Add the adapter for HTTPCharsets so POSTs work properly. Nice little cargo
cult from lazr.restful.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
Add an IDomainManager and a global domain manager which can be gotten by
adapting the global config object.
Add an IDomainCollection interface for exposing the domain manager onto the
API.
|
| |
|
|
| |
to the varnish.
|
| |
|
|
| |
given, then SMTPLayer is used by default.
|
| |
|
|
| |
useful information. It's GET only atm.
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
correctly regardless of how it's used.
|