| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
|
| |
|
|
| |
Also, document more APIs.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
The new template system is introduced for API 3.1. See
``src/mailman/rest/docs/templates.rst`` for details.
|
| |
|
|
|
| |
Nonmember subscriptions are removed when one of the addresses controlled by
a user is subscribed as a member. Given by Aditya Divekar. (Closes #237)
|
| | |
|
| |
|
|
|
|
| |
On subscribing an address as a member, we check if the related user
is subscribed as a nonmember through any address. If yes, we remove
the nonmember subscription.
|
| | |
|
| |
|
|
|
|
| |
Closes #223
Also: `mailman digests` has grown --verbose and -dry-run options.
|
| | |
|
| |
|
|
|
|
|
| |
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 lots of import order errors discovered by the new plugin.
|
| |
|
|
|
|
|
| |
mailman/core/errors.py is gone now. We had a duplicate base exception
which now always comes from mailman/interfaces/errors.py.
Obsolete/unused exceptions are remove. The other exceptions are moved
to better locations.
|
| |
|
|
|
|
|
|
| |
* Get rid of explicit __all__ settings and use the @public decorator.
* Get rid of ^L's
* Use expected_count argument for get_queue_messages()
* Various code modernizations.
* Other minor changes to make flake8 happy.
|
| |
|
|
|
|
|
|
| |
* Update some comments.
* Slightly rewrite a conditional test.
* Coding style fixes.
* Add a convenience to get_queue_message().
* Add NEWS.
|
| | |
|
| | |
|
| |
|
|
|
| |
New subscription requests are rejected if there is already one pending.
With thanks to Anirudh Dahiya. (Closes #199)
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
Closes #176
Also:
* IMessageStore no longer raises a ValueError if the Message-ID already
exists in the store; it just returns None.
* The internal handle_message() function no longer takes a `preserve`
argument, since messages are never removed from the IMessageStore.
|
| |
|
|
|
|
|
|
| |
Closes #196
In mailman: URIs (e.g. IMailingList.header_uri and .footer_uri), you
used to be able to only use fqdn-listnames. But since List-IDs are more
stable, let's allow those too. Silently deprecate using the fqdn-listname.
|
| |
|
|
|
| |
This refactors the setting of a user's preferred address to the first in
their list of linked addresses.
|
| |
|
|
|
| |
* Python 3-ify super() calls.
* Remove a bunch of obsolete exception classes.
|
| | |
|
| |
|
|
| |
Also, ignore `raise AssertionError` lines globally.
|
| | |
|
| |
|
|
|
|
| |
Increase coverage.
Add ISubscriptionService.find_member() as per discussion.
|
| |
|
|
| |
the mailman.model package.
|
| |
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
|
| |
Use coverage.ini to ignore a few common idioms, so as to reduce code clutter.
Invoke coverage slightly differently in the tox.ini.
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
Additional cleanups by Barry.
Fix the SubscriptionService.find_members SQL query on PostgreSQL.
Assert that an unsupported use case is actually unsupported.
Various little clean ups.
|
| | |
|
| | |
|