========================= Command line list removal ========================= A system administrator can remove mailing lists by the command line. :: >>> create_list('test@example.com') >>> from mailman.interfaces.listmanager import IListManager >>> from zope.component import getUtility >>> list_manager = getUtility(IListManager) >>> list_manager.get('test@example.com') >>> 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') >>> 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') # 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