| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
- This is quite a huge commit, since it changes the type of the
MailingList.subscription_policy and unsubscription_policy
attributes to the new names of pluggable workflows, in all
occurences.
- Also adds a migration to migrate the attributes to the new types.
- Adds tests for the migration.
|
| |
|
|
|
|
| |
- The scan_module and find_components functions are also useful
when they don't instantiate the components they load, and
instantiation is left to add_components.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |\ |
|
| | |\
| | |
| | |
| | |
| | |
| | |
| | | |
Cover another header match import case
This branch just covers one more import conversion case seen in the wild.
See merge request !163
|
| | | | |
|
| |/ /
| |
| |
| |
| |
| |
| | |
Also:
* Fix a regexp that 3.6 raises an exception on.
* Remove a deprecated attribute from passlib.cfg.
|
| | | |
|
| | | |
|
| |/ |
|
| |
|
|
|
| |
The new template system is introduced for API 3.1. See
``src/mailman/rest/docs/templates.rst`` for details.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
Sometimes the backups are stored in the same directory by text editors
as dotfiles which leads to ImportError.
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Closes #224
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
The `moderation_action` for members and nonmember can now be ``None``
which signals falling back to the appropriate list default action,
e.g. `default_member_action` and `default_nonmember_action`. Given by
Aurélien Bompard.
Closes #189
|
| | |
|
| |
|
|
|
|
|
|
| |
Members and nonmember's moderation action should be None by default, and
in that case the moderation rule should fallback to the mailing list's
default action.
Fixes: #189
|
| |
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
| |
* Remove an unused import.
* Opportunistically remove ^Ls
* Add a missing interface attribute.
* Fix up some docstrings.
* Rename a parameter in an interface for clarity.
* Random code style cleanups.
|
| |
|
|
| |
This reverts commit 703fc135dfcd496a704562ddc263aa0f4f828de9.
|
| |
|
|
| |
It makes it clearer what values are valid, and allows validation.
|
| |
|
|
|
|
|
| |
Add a numerical index property to HeaderMatch objects, and change the
HeaderMatchSet manager to take the order into account.
Items can now be inserted and removed by index.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* Use `yield from` wherever appropriate.
* Use SA's .one_or_none() where appropriate.
- Fix a bug in MailingList.pass_extensions.
- Use ValueError in other places for consistency.
- Remove unreached/nonsense code.
- Simplify the SubscriptionService.find_member() and .find_members()
implementations.
- Boost coverage.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
|
|
|
| |
* Boost coverage.
* Don't report coverage on the test modules.
* In one test, when acquiring the lock, set a timeout. Hopefully this will
eliminate the occasional test deadlock.
* Fix a buglet in wrap()
|
| |
|
|
|
| |
Use Python 3.5 to run the coverage tests.
Clean up the code style a bit.
|
| | |
|