| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
package.
|
| | |
|
| |
|
|
| |
utility.
|
| |
|
|
| |
IUserManager utility.
|
| | |
|
| |
|
|
|
| |
* Use the IListManager() adapter instead of hanging the list manager off of
config.db. This makes the code somewhat cleaner.
|
| | |
|
| | |
|
| |
|
|
|
|
| |
return an HTTP 400 error, though it does not seem to work.
Expose list creation through the API.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
Fix a documentation link.
|
| | |
|
| |
|
|
|
|
|
| |
* Get rid of in-Python adapter registration in favor of ZCML. Eventually, I'd
like to get rid of the ZCML.
* Set the view_permission to None, but it's still not right.
* Add IDomainSet and an adapter from Configuration to IDomainSet.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
artifacts that don't exist. In that case, just skimp them rather than
complain.
Docstring style cleanup.
Allow for doctest layer specification in the package's __init__.py, defaulting
to SMTPLayer if not given. This is probably too coarse for long term use, but
it works for now.
Make sure pipelines.txt properly cleans up its digest; it must be flushed
after clearing.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
Refactor the finding of components so that it's much easier to find and
register the ones that come with Mailman by default.
Move all the old cmd_*.py commands into the attic. These will eventually be
ported to the new framework.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
module.
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
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.
|