| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
It's less important now that the configuration system is built on
lazr.config. Closes #45
|
| | |
|
| |
|
|
| |
Closes #42
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Closes #255
As of Python 3.5, PEP 475 gets in our way. Runners with long time.sleep()'s
in their _snooze() method (e.g. the retry runner) will have their system call
implemented time.sleep() automatically retried at the C layer. The only
reliable way to prevent this is to raise an exception in the signal handler.
The standard run() method automatically suppresses this exception, meaning,
it's caught and ignored, but effectively breaks the run() loop, which is just
what we want.
The lmtp and rest runners implement their own run loops, so they also have to
handle this exception, by ignoring it.
|
| | |
|
| | |
|
| |\ |
|
| | | |
|
| | |
| |
| |
| | |
Also, use the better way to set the LMTP ident.
|
| | | |
|
| |\ \
| |/
|/| |
|
| | |\ |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | |/
|/| |
|
| | |
| |
| |
| |
| | |
Remove the digest mbox files after the digests are sent. Given by
Aurélien Bompard.
|
| | | |
|
| |/
|
|
| |
Fixes #259
|
| |
|
|
| |
Fixes #283
|
| |
|
|
| |
where needed.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This merges the SubscriptionManager and UnsubscriptionManager into a
single SubscriptionManager implementation that handles both register()
and unregister(). This allows us to use direct class-based adaptation
instead of the more clunky getAdapter() API. We can also eliminate the
funky _get_workflow() implementation detail.
This has a couple of side-effects. .confirm() must lookup the token in
the pendings database and pull out the pending type, dispatching to the
proper class depending on the type, or raising a LookupError if the
token is None or there is no pendable associated with the given token.
This feels like an acceptable trade-off.
However, this *also* means that IWorkflowStateManager must lose its
'name' argument in its methods. That's because we won't actually know
the name until its too late. Honestly, the name wasn't providing much
value anyway (it was always the subclass's name), so losing that seems
fine too. The complication here is that the name was a primary key in
the 'workflowstate' table, so we need to add its removal in the database
migration.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
* events
* notices
* handlers
Also, be sure to do only one `leave` command per email.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
The new template system is introduced for API 3.1. See
``src/mailman/rest/docs/templates.rst`` for details.
|
| | |
|
| |
|
|
|
|
|
| |
Wraps the message/rfc822 parts in a MIME digest in a multipart/digest
part.
Updated the tests and the doc test.
|
| | |
|
| |
|
|
|
|
|
| |
This suppresses all errors in the file. Use `noqa`, although pep8
doesn't honor this for all errors.
There may be a plugin which helps.
|
| |
|
|
| |
Fix the last few violations of the import rules.
|
| |
|
|
| |
Fix lots of import order errors discovered by the new plugin.
|
| | |
|
| |
|
|
| |
Don't let crashes in IArchiver plugins break handlers or runners.
|
| |
|
|
|
| |
* Python 3-ify super() calls.
* Remove a bunch of obsolete exception classes.
|
| |
|
|
|
|
| |
Link.__init__() can now take an IRule or the string naming a rule, which
will be looked up in config.rules. Similarly, it can take an IChain or
the name of a chain.
|
| |
|
|
|
|
| |
use len() and slicing on SQLAlchemy query results. We also don't need to
list()-ify the results in the tests. This isn't perfect, but at least it
doesn't introduce yet another layer violation.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Add a `mailman send-digests` subcommand which replaces the functionality of
the MM2.1 senddigests.py cronjob.
* Use mlist.data_path where appropriate instead of crafting it from
config.LIST_DATA_DIR. This makes it more consistent to switch to using the
list-id as the data subdirectory.
* Refactor the to_digest handler so that we can implement
maybe_send_digest_now() for the internal API.
* Fix some typos in subcommand --help summaries.
|