| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
Hopefully this will help fix intermittent failures on the Gitlab CI runners.
2 minutes appears to be too short since the MySQL tests can take longer than
that to get to the lock claim attempt.
|
| | |
|
| |
|
|
|
|
| |
This doesn't solve the underlying problem of why child processes (both
runners and master) occasionally don't exit, but it prevents ugly
timeouts in the CI infrastructure when that happens.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
The new template system is introduced for API 3.1. See
``src/mailman/rest/docs/templates.rst`` for details.
|
| | |
|
| |
|
|
| |
Closes #230
|
| |
|
|
|
|
|
|
| |
``mailman shell`` now supports readline history if you set the
``[shell]history_file`` variable in mailman.cfg. Also, many useful
names are pre-populated in the namespace of the shell. (Closes: #228)
With test coverage.
|
| |
|
|
|
|
| |
Closes #223
Also: `mailman digests` has grown --verbose and -dry-run options.
|
| |
|
|
| |
Fix lots of import order errors discovered by the new plugin.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
* Reorder some add_argument() parameters.
* Reword some help text.
* Reword some of the doctest language.
* Clean up whitespace.
* Minor coding style change in unittests.
* Add another unittest.
* Fix a docstring (not related to these change).
* Add NEWS.
|
| |
|
|
|
|
| |
Added tests for domain option
Updated docs for creating list from shell
|
| | |
|
| |
|
|
|
| |
subscription roles. Also, the positional "list" argument can now accept
list names or list-ids.
|
| |
|
|
|
|
|
| |
via the ``<api>/lists/<list-id>/digest`` end-point. GETting this resource
returns the ``next_digest_number`` and ``volume`` as the same values
accessible through the list's configuraiton resource. POSTing to the resource
with either ``send=True``, ``bump=True``, or both invokes the given action.
|
| |
|
|
|
| |
Fix a buglet where if maybe_send_digest_now() was called before a digest has
been prepared, a FileNotFoundError would be raised.
|
| |
|
|
|
|
|
|
|
| |
their own module inside the mailman.app package. With the latter, remove the
"all lists" functionality and require the mlist argument. We'll handle the
"all lists" use case higher up the stack.
Also, rename the send-digests handler digests since we'll next add the bump
functionality.
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
|
|
|
| |
This reverts commit 8c471e067c4b31064c2f69c0afd048a7e756a429.
The fix wasn't correct. Now we have a test for the expected behavior.
|
| |
|
|
| |
list is set to confirm-then-moderate. (Closes #114)
|
| | |
|
| | |
|
| | |
|
| | |
|
| |\ |
|
| | | |
|
| |\ \
| |/
|/| |
|
| |/ |
|
| |\
| |
| |
| | |
by Manish Gill. (LP: #1166911)
|
| |\ \ |
|
| |/ / |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
By using `six` I think I have most of the imports squared away. There's
probably still uses of `unicode` built-ins that need fixing.
The idea is to first get the test suite running (which it doesn't yet), and
then to fix tests.
There's a bug in lazr.config which requires us to patch it for now.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
reflect this.
Also, mock out sys.stderr on some tests so that their nose2 output is quieter.
A few other minor coding style consistencies.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* New events:
- ConfirmationNeededEvent is triggered when a pendable requiring
confirmation is created. This allows us to define an event handler for
this event which sends the user notification.
- SubscriptionEvent is triggered when a member is added to a mailing list.
This lets us define an event handler which sends the welcome message.
* send_welcome_message() now takes a member parameter instead of an address,
which lets us directly access the member's delivery mode and user display
name (if the member has a user, which it might not in some cases).
* Use the list id in the pendable record instead of the list name for
robustness (the latter can change but the former is permanent).
* Test more registration conditions.
* In the bin/runner command line switch handling, default `verbose` to None
instead of False. This makes it work better with nose's -E switch (log to
stderr).
* In call_api(), if a POST, PUT, or PATCH method is used and data is None,
encode the empty dictionary; seems like the behavior of urlencode() has
changed, so this is safer.
* Fix style and pyflakes warnings.
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
sorted.
* Fix stderr output in sub-runners, and move the -e test option to -E.
|