summaryrefslogtreecommitdiff
path: root/src/mailman/core/pipelines.py
Commit message (Collapse)AuthorAgeFilesLines
* Add pluggable components.J08nY2017-08-071-3/+3
| | | | | | | | | | | | | | | | | - Adds the notion of a 'plugin'. - A plugin has a package path and a flag specifying whether it's enabled or not. - Adds a find_pluggable_components function similar to the find_components one. This one dynamically searches not only the mailman package but all of plugins. - e.g. find_pluggable_components('rules', IRule) finds all IRule components in mailman.rules but also in example_plugin.rules for plugin names example_plugin. - Uses the find_pluggable_components function in place of find_components when searching for Rules, Handlers, Chains, EmailCommands, and Styles.
* Rename metadata key for clarityBarry Warsaw2017-08-041-1/+1
|
* Move pipelines to their own package, instantiate them dynamically.pipelines-dynamical-instantiationJ08nY2017-06-171-79/+2
|
* Provide a better way to avoid instantiating some componentsBarry Warsaw2017-06-171-9/+2
|
* Bump copyright years.Barry Warsaw2017-01-041-1/+1
|
* Merged from master.Mark Sapiro2016-12-091-1/+1
|\
| * Use `atpublic` for @public instead of internal copy.Barry Warsaw2016-11-291-1/+1
| |
* | DMARC mitigations, part 1a.Mark Sapiro2016-10-311-0/+1
|/
* Clean up the core directory.Barry Warsaw2016-03-241-22/+15
| | | | | | | 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.
* Several optimizations:Barry Warsaw2016-01-111-2/+1
| | | | | | | | | | | | * 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.
* Happy New Year.Barry Warsaw2016-01-021-1/+1
|
* Don't decorate the archive, digest or usenet copiesAurélien Bompard2015-09-121-1/+1
|
* Decorate bulk emails by defaultAurélien Bompard2015-09-081-0/+1
|
* Bump copyright years.Barry Warsaw2015-01-041-1/+1
|
* Remove huge amounts of now unnecessary file boilerplate.Barry Warsaw2014-12-221-6/+2
|
* Refactor subject-prefix handler out of cook-headers handler and make all testsBarry Warsaw2014-12-211-0/+1
| | | | pass.
* Bump copyright years.Barry Warsaw2014-01-011-1/+1
|
* Bump copyright years.Barry Warsaw2013-01-011-1/+1
|
* LP: #975692 phase 1Barry Warsaw2012-12-281-1/+2
| | | | | | | | | | | | | | | | | * Rework list style management. No more style priorities or matching.. Now, you name a style explicitly to apply and that's it. * create_list() now takes a `style` argument. * config file now names both a default style to use, and a set of paths to scan for IStyle instances. (This could be a model for other plugins.) * added IMailingList.style_name to record the last style applied, but this is going to be removed in subsequent revisions. Also: * Move find_components() and scan_module() from app/finder.py to utilities/modules.py * Cleaned up lifecycle.rst for better documentation. Some tests moved to test_lifecycle.py. * Remove some unnecessary test tearDown() code.
* General code cleanup.Barry Warsaw2012-04-251-3/+2
| | | | | | | | - Add explicit dependency on zope.event in setup.py. - Use Python 3 compatible syntax for specifying that a class implements an interface, i.e. the @implementer class decorator. - print_function futures. - Whitespace normalization.
* Add the OwnerPipeline, with tests, and rename some things for consistency.Barry Warsaw2012-03-231-6/+23
|
* Rename the member recipients calculating handler to make way for the ownerBarry Warsaw2012-03-231-1/+1
| | | | recipients handler.
* Rename the src/mailman/pipeline directory to src/mailman/handlers since that'sBarry Warsaw2012-03-231-1/+1
| | | | how I think about them anyway.
* * Pipermail has been eradicated.Barry Warsaw2012-03-161-6/+18
| | | | | | | | | | | | * Configuration variable `[mailman]filtered_messages_are_preservable` controls whether messages which have their top-level `Content-Type` filtered out can be preserved in the `bad` queue by list owners. * Configuration section `[scrubber]` removed, as is the scrubber handler. This handler was essentially incompatible with Mailman 3 since it required coordination with Pipermail to store attachments on disk. * Schema additions: - mailinglist.filter_action
* * Mailing lists get multiple chains and pipelines. For example, normalBarry Warsaw2012-03-071-1/+1
| | | | | | | | | | | postings go through the `posting_chain` while messages to owners to through `owners_chain`. The default `built-in` chain is renamed to `default-posting-chain` while the `built-in` pipeline is renamed `default-posting-pipeline`. * Schema changes: - start_chain -> posting_chain - pipeline -> posting_pipeline
* Restore the RFC 2369 headers to accepted list posts.Barry Warsaw2012-03-011-0/+1
|
* copybumpBarry Warsaw2012-01-011-1/+1
|
* * Moderating a message with Action.accept now sends the message. (LP: #827697)Barry Warsaw2011-08-221-0/+7
| | | | | | | | | | | Also: * Use utilities.datetime.now() so that moderation related dates are predictable during the test suite. * When a message is accepted, drop it in the pipeline queue. The above bug was caused by the message going in the incoming queue, and then being re-moderated. * Expose mailman.bin.master.Loop in __all__. * Add some helpful debug logging.
* Happy New Year.Barry Warsaw2011-01-011-1/+1
|
* Fix the obvious errors identified by pyflakes. Skip false positives (mostlyBarry Warsaw2010-10-081-1/+1
| | | | | due to _() interpolation) and a few other problems that did not have immediately obvious fixes.
* Happy New Year.Barry Warsaw2010-01-011-1/+1
|
* Factor out most of the i18n subsystem and convert to using the flufl.i18nBarry Warsaw2009-11-151-1/+1
| | | | package.
* Add argparse 'cause I think this might end up being cool.Barry Warsaw2009-03-291-2/+2
| | | | | | | | 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.
* Get rid of the mailman.handlers entry point.Barry Warsaw2009-03-091-9/+8
|
* Push the source directory into a 'src' subdirectory so that zc.buildout worksBarry Warsaw2009-01-251-0/+125
correctly regardless of how it's used.