summaryrefslogtreecommitdiff
path: root/src/mailman/app/lifecycle.py
Commit message (Collapse)AuthorAgeFilesLines
* Moved InvalidListNameError class definition to mailman.interfaces.mailinglist.Mark Sapiro2017-02-201-11/+4
| | | | | Added more documentation on config.mailman.listname_chars. Made a couple of minor tweaks.
* Updated rest/lists.py to handle list name error exceptions and addedMark Sapiro2017-02-191-0/+4
| | | | | | tests for for the exceptions. Enhanced the InvalidListNameError exception to return the invalid name.
* Made the allowable list name characters configurable.Mark Sapiro2017-02-191-1/+15
|
* Implemented stricter listname validation.Mark Sapiro2017-02-191-1/+15
|
* Bump copyright years.Barry Warsaw2017-01-041-1/+1
|
* Use `atpublic` for @public instead of internal copy.Barry Warsaw2016-11-291-1/+1
|
* First massive round of cleanups.Barry Warsaw2016-03-231-11/+5
| | | | | | | | * 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.
* Happy New Year.Barry Warsaw2016-01-021-1/+1
|
* Move the data_paths.Barry Warsaw2015-12-201-2/+0
|
* Add a send-digests subcommand to send list digests right now.Barry Warsaw2015-12-201-7/+5
| | | | | | | | | | | | | | * 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.
* Bump copyright years.Barry Warsaw2015-01-041-1/+1
|
* Remove huge amounts of now unnecessary file boilerplate.Barry Warsaw2014-12-221-5/+1
|
* Use print functions consistently through, and update all __future__ imports toBarry Warsaw2014-04-281-1/+1
| | | | | | | | reflect this. Also, mock out sys.stderr on some tests so that their nose2 output is quieter. A few other minor coding style consistencies.
* - Clean up and simplify remove_list()Barry Warsaw2014-03-021-20/+7
| | | | - Boost test coverage of lifecycle.py to 100%
* 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-3/+9
| | | | | | | | | | | | | | | | | * 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.
* * The link between members and the mailing lists they are subscribed to, isBarry Warsaw2012-09-041-13/+9
| | | | | | | | | | | | | | | now via the RFC 2369 `list_id` instead of the fqdn listname (i.e. posting address). This is because while the posting address can change if the mailing list is moved to a new server, the list id is fixed. (LP: #1024509) + IListManager.get_by_list_id() added. + IListManager.list_ids added. + IMailingList.list_id added. + Several internal APIs that accepted fqdn list names now require list ids, e.g. ISubscriptionService.join() and .find_members(). + IMember.list_id attribute added; .mailing_list is now an alias that retrieves and returns the IMailingList. - list_id added (LP: #1024509)
* Eradicate Pipermail. Everything but the scrubber test works. That will takeBarry Warsaw2012-03-151-10/+1
| | | | some new APIs I suspect.
* copybumpBarry Warsaw2012-01-011-1/+1
|
* * Implement the style manager as a utility instead of an attribute hangingBarry Warsaw2011-10-241-1/+2
| | | | | | off the `mailman.config.config` object. * Fixed bogus use of `bounce_processing` attribute (should have been `process_bounces`, with thanks to Vincent Fretin. (LP: #876774)
* Remove all pylint vestiges.Barry Warsaw2011-08-031-1/+0
|
* Refactor .subscribe() from IAddress to IMailingList.Barry Warsaw2011-04-161-4/+4
|
* Implement the email address validator as a utility for easier pluggability.Barry Warsaw2011-01-061-4/+6
|
* Happy New Year.Barry Warsaw2011-01-011-1/+1
|
* Basic importer test.Barry Warsaw2010-05-061-1/+1
|
* Add POST validators.Barry Warsaw2010-03-011-1/+15
|
* Happy New Year.Barry Warsaw2010-01-011-1/+1
|
* IRegistrar is now a utility; it doesn't need to be adapted from an IDomain.Barry Warsaw2009-12-121-2/+0
| | | | | | | This is because registration confirmation messages must come from the mailing list that the subscription request came from. Remove IDomain.confirm_address() since this lives only on the IMailingList now.
* * Make IDomainManager a utility, since the config object is global.Barry Warsaw2009-12-081-1/+1
| | | | | | | | * Give IMailingList a .domain attribute which looks up the IDomain for its .host_name. This cleans up a lot of code. * Add a test for the 'confirm' email command. * Suppress blank lines in email command responses. * Make the IDomainCollection a utility.
* Remove the user_manager attribute from config.db and expose it as anBarry Warsaw2009-08-261-3/+4
| | | | IUserManager utility.
* Instead of using an adapter, use a utility to get the mailing list manager.Barry Warsaw2009-08-261-2/+4
|
* * Updated NEWS.txt for 3.0a3.Barry Warsaw2009-08-211-2/+3
| | | | | * Use the IListManager() adapter instead of hanging the list manager off of config.db. This makes the code somewhat cleaner.
* Move BadDomainSpecificationError to domain.txt interface. Try to set this toBarry Warsaw2009-07-261-3/+3
| | | | | | return an HTTP 400 error, though it does not seem to work. Expose list creation through the API.
* Wow. Put domains into the database.Barry Warsaw2009-07-161-1/+2
| | | | | | | | Add an IDomainManager and a global domain manager which can be gotten by adapting the global config object. Add an IDomainCollection interface for exposing the domain manager onto the API.
* Many pylint cleanups.Barry Warsaw2009-06-301-3/+2
|
* When cleaning up the artifacts of a list being deleted, be more careful forBarry Warsaw2009-05-271-1/+3
| | | | | | | | | | | | | | artifacts that don't exist. In that case, just skimp them rather than complain. Docstring style cleanup. Allow for doctest layer specification in the package's __init__.py, defaulting to SMTPLayer if not given. This is probably too coarse for long term use, but it works for now. Make sure pipelines.txt properly cleans up its digest; it must be flushed after clearing.
* Refactor __import__'s into a separate utility module.Barry Warsaw2009-05-161-6/+3
|
* rsplit -> rpartitionBarry Warsaw2009-05-151-6/+6
|
* Remove or move QuotePeriods(), LCDomain(), and ValidateEmail from the UtilsBarry Warsaw2009-02-121-2/+2
| | | | module.
* Push the source directory into a 'src' subdirectory so that zc.buildout worksBarry Warsaw2009-01-251-0/+114
correctly regardless of how it's used.