summaryrefslogtreecommitdiff
path: root/src/mailman/bin
Commit message (Collapse)AuthorAgeFilesLines
* PR288 vettedBarry Warsaw2017-08-294-38/+65
|
* Add a test.Barry Warsaw2017-08-261-0/+10
|
* Print the list of available commands with `mailman --help`Abhilash Raj2017-08-091-0/+2
| | | | | | Overriding the format_options method of click.MultiCommand skips printing the list of available commands. This commit just brings that option back so that help text is now more informative.
* Convert to click for CLI optionsBarry Warsaw2017-07-225-298/+400
|
* Provide a better way to avoid instantiating some componentsBarry Warsaw2017-06-171-4/+1
|
* Bump copyright years.Barry Warsaw2017-01-045-6/+6
|
* Use `atpublic` for @public instead of internal copy.Barry Warsaw2016-11-293-3/+3
|
* Fix the Flake8 ignore tagsAurélien Bompard2016-11-211-5/+5
|
* Rebase mailman/mailman!180 and cleanup # noqaBarry Warsaw2016-07-282-7/+7
|
* Use contextlib.suppress() where appropriate.Barry Warsaw2016-04-301-7/+2
|
* mailman subcommands commit transactionsBarry Warsaw2016-04-122-1/+60
| | | | | | Closes #223 Also: `mailman digests` has grown --verbose and -dry-run options.
* Don't use `flake8: noqa`.Barry Warsaw2016-04-012-7/+7
| | | | | | | 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.
* Clean up the bin directory.Barry Warsaw2016-03-245-67/+37
|
* Happy New Year.Barry Warsaw2016-01-025-6/+6
|
* Coverage improvements.Barry Warsaw2015-12-291-2/+3
| | | | | | | | * 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()
* Core no longer depends on the standalone `mock` module. (Closes: #146)Barry Warsaw2015-09-221-1/+1
|
* Style cleanup.Barry Warsaw2015-08-131-7/+7
|
* add tests for mailman commandAbhilash Raj2015-08-131-0/+42
|
* fix according to comments from barryAbhilash Raj2015-08-131-1/+1
|
* remove a print statement committed accidentallyAbhilash Raj2015-08-131-1/+0
|
* Fix #137Abhilash Raj2015-08-131-1/+2
|
* Remove the obsolete and mostly unimplemented onebounce script.Barry Warsaw2015-05-032-74/+3
| | | | | Move the options base class to utilities (even though only the master uses it). Remove other obsolete and unused code.
* * The test suite now runs successfully again with PostgreSQL. Given byBarry Warsaw2015-04-221-5/+11
|\ | | | | | | Aurélien Bompard. (LP: #1435941)
| * Propagate the MAILMAN_EXTRA_TESTING_CFG env var to subprocessesAurélien Bompard2015-04-221-5/+5
|/
* Documentation fixes, given by Abhilash Raj.Barry Warsaw2015-03-134-17/+16
|\
| * change bin/mailman to mailman everwhere in docsAbhilash Raj2015-03-124-4/+4
|/
* Move some old bin scripts to a holding tank.Barry Warsaw2015-03-0210-1775/+0
|
* Bump copyright years.Barry Warsaw2015-01-0415-16/+16
|
* Fix the passing of certain essential environment variables down from theBarry Warsaw2015-01-021-4/+11
| | | | | | | | | `mailman` foreground command, through the `master` command and to the `runner` command. Specifically, to ensure that all agree on $VAR_DIR, we ahve to set MAILMAN_VAR_DIR in the environment that `runner` gets. Also, so that all agree on the same configuration, always pass -C pointing explicitly to the cfg file that the `mailman` command sees.
* Remove huge amounts of now unnecessary file boilerplate.Barry Warsaw2014-12-225-18/+1
|
* All the REST tests pass.Barry Warsaw2014-12-151-2/+8
|
* Use listid instead of (fqdn) listname in the metadata pickle.Barry Warsaw2014-12-151-1/+1
| | | | | | load_external() now always opens in utf-8 mode. More test repair.
* Checkpointing.Barry Warsaw2014-11-301-1/+1
| | | | | | | | | | 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.
* Fix a few issues with `python2 -3` compatibility.Barry Warsaw2014-11-193-6/+7
|
* Remove debugging.Barry Warsaw2014-11-161-1/+0
|
* Make sure runner subprocesses get covered during `tox -e coverage`.Barry Warsaw2014-11-162-2/+15
|
* DatabaseBarry Warsaw2014-11-011-2/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | -------- * The ORM layer, previously implemented with Storm, has been replaced by SQLAlchemy, thanks to the fantastic work by Abhilash Raj and Aurélien Bompard. Alembic is now used for all database schema migrations. * The new logger `mailman.database` logs any errors at the database layer. API --- * Several changes to the internal API: - `IListManager.mailing_lists` is guaranteed to be sorted in List-ID order. - `IDomains.mailing_lists` is guaranteed to be sorted in List-ID order. - Iteration over domains via the `IDomainManager` is guaranteed to be sorted by `IDomain.mail_host` order. - `ITemporaryDatabase` interface and all implementations are removed.
| * Pass all tests with PYTHONWARNINGS=error.Barry Warsaw2014-09-221-1/+1
|/ | | | | | | | | | * Switch away from a deprecated unittest method. * Switch away from using deprecated Exceptions.message attribute. * Decode the bytes b32 encoded X-Message-ID-Hash header into a Unicode. * Fix a rather glaring bug in Pendings.add() where we were actually not properly coercing bytes to unicode for the keys and values! I guess it's a good thing that SQLAlchemy is more strict than Storm. * Some cosmetic fixes.
* Use print functions consistently through, and update all __future__ imports toBarry Warsaw2014-04-287-12/+13
| | | | | | | | reflect this. Also, mock out sys.stderr on some tests so that their nose2 output is quieter. A few other minor coding style consistencies.
* Fix the default.Barry Warsaw2014-01-061-2/+2
|
* Several internal improvements:Barry Warsaw2014-01-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | * 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.
* Bump copyright years.Barry Warsaw2014-01-0115-16/+16
|
* Switch to PEP 435 enums from flufl.enums.Barry Warsaw2013-06-181-1/+1
|
* * `bin/runner` command has been simplified and its command line optionsBarry Warsaw2013-06-171-189/+102
| | | | | | | | | | | | | | | | | | | | | | | | reduced. Now, only one `-r/--runner` option may be provided and the round-robin feature has been removed. * Fixed REST server crash on `reopen` command. Identification and test provided by Aurélien Bompard. (LP: #1184376) Also: * bin/runner now uses standard argparse instead of ScriptOptions. * The entire bin/runner machinery has bee reorganized and simplified. There * is no more Loop class. Signal setting is moved directly into the base Runner class and overrided in specific subclasses (e.g. RESTRunner which must cleanly shutdown its TCPServer). The runner exit status is now set directly on the Runner instance. * Fixed a few minor style issues. * In order to cleanly shutdown the RESTRunner's WSGI server, we must start a subthread which only watches for an Event and then calls the server's shutdown() method. It has to be this way because the WSGI server itself (due to interactions with SQLite), and the signal handlers (due to Python's signal handling semantics) must both run in the main thread. However, the shutdown() must be invoked from a subthread in order to prevent deadlock. * Refactor the RESTLayer to eliminate duplication of code.
* Bump copyright years.Barry Warsaw2013-01-0115-16/+16
|
* LP: #975692 phase 1Barry Warsaw2012-12-281-1/+1
| | | | | | | | | | | | | | | | | * 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.
* * Improve the --help text for the `start`, `stop`, `restart`, and `reopen`Barry Warsaw2012-12-231-0/+2
| | | | subcommands. (LP: #1035033)
* Refactor to better handling the difference between a testing database and aBarry Warsaw2012-07-251-8/+4
| | | | | | | | | | | | | | | | | | | | | | | | | production database. - Add an IDatabaseFactory interface with two named utility implementations. The initialization subsystem will either ask for the 'testing' or 'production' factory utility depending on whether we're in the test suite or not. The testing factory returns an IDatabase that can be _reset(). - initialize_2() now takes an optional `testing` argument, defaulting to False. The test ConfigLayer will pass in True. - Remove _reset() from the base database class. - The ModelMeta now adds a PRESERVE attribute to database classes. This defaults to False, meaning by default the test framework will reset the table. The Version table is preserved because it records the schema migrations. - Because of the above, we no longer need to support pre_reset() and post_reset() on migrations. Also, bin/mailman should allow the standard configuration file search algorithm to be used except when -C/--config is given.
* - Remove an obsolete script.Barry Warsaw2012-04-221-189/+0
| | | | - Fix up one more use of config.db global.
* Remove a few more obsolete scripts.Barry Warsaw2012-03-284-749/+0
|