Command line list removal

A system administrator can remove mailing lists by the command line.

>>> create_list('test@example.com')
<mailing list "test@example.com" at ...>

>>> from mailman.interfaces.listmanager import IListManager
>>> from zope.component import getUtility
>>> list_manager = getUtility(IListManager)
>>> list_manager.get('test@example.com')
<mailing list "test@example.com" at ...>

>>> class FakeArgs:
...     quiet = False
...     archives = False
...     listname = ['test@example.com']
>>> args = FakeArgs()

>>> from mailman.commands.cli_lists import Remove
>>> command = Remove()
>>> command.process(args)
Removed list: test@example.com
Not removing archives.  Reinvoke with -a to remove them.

>>> print list_manager.get('test@example.com')
None

You can also remove lists quietly.

>>> create_list('test@example.com')
<mailing list "test@example.com" at ...>

>>> args.quiet = True
>>> command.process(args)

>>> print list_manager.get('test@example.com')
None

Removing archives

By default ‘mailman remove’ does not remove a mailing list’s archives.

>>> create_list('test@example.com')
<mailing list "test@example.com" at ...>

# Fake an mbox file for the mailing list.
>>> import os
>>> def make_mbox(fqdn_listname):
...     mbox_dir = os.path.join(
...         config.PUBLIC_ARCHIVE_FILE_DIR, fqdn_listname + '.mbox')
...     os.makedirs(mbox_dir)
...     mbox_file = os.path.join(mbox_dir, fqdn_listname + '.mbox')
...     with open(mbox_file, 'w') as fp:
...         print >> fp, 'A message'
...     assert os.path.exists(mbox_file)
...     return mbox_file

>>> mbox_file = make_mbox('test@example.com')
>>> args.quiet = False
>>> command.process(args)
Removed list: test@example.com
Not removing archives.  Reinvoke with -a to remove them.

>>> os.path.exists(mbox_file)
True

Even if the mailing list has been deleted, you can still delete the archives afterward.

>>> args.archives = True

>>> command.process(args)
No such list: test@example.com; removing residual archives.

>>> os.path.exists(mbox_file)
False

Table Of Contents

Previous topic

Dumping queue files

Next topic

Unshunt

This Page