From eefd06f1b88b8ecbb23a9013cd223b72ca85c20d Mon Sep 17 00:00:00 2001
From: Barry Warsaw
Date: Sun, 25 Jan 2009 13:01:41 -0500
Subject: Push the source directory into a 'src' subdirectory so that
zc.buildout works correctly regardless of how it's used.
---
mailman/commands/join.py | 126 -----------------------------------------------
1 file changed, 126 deletions(-)
delete mode 100644 mailman/commands/join.py
(limited to 'mailman/commands/join.py')
diff --git a/mailman/commands/join.py b/mailman/commands/join.py
deleted file mode 100644
index c14f3142b..000000000
--- a/mailman/commands/join.py
+++ /dev/null
@@ -1,126 +0,0 @@
-# Copyright (C) 2002-2009 by the Free Software Foundation, Inc.
-#
-# This file is part of GNU Mailman.
-#
-# GNU Mailman is free software: you can redistribute it and/or modify it under
-# the terms of the GNU General Public License as published by the Free
-# Software Foundation, either version 3 of the License, or (at your option)
-# any later version.
-#
-# GNU Mailman is distributed in the hope that it will be useful, but WITHOUT
-# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
-# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
-# more details.
-#
-# You should have received a copy of the GNU General Public License along with
-# GNU Mailman. If not, see .
-
-"""The email commands 'join' and 'subscribe'."""
-
-__metaclass__ = type
-__all__ = [
- 'Join',
- 'Subscribe',
- ]
-
-
-from email.utils import formataddr, parseaddr
-from zope.interface import implements
-
-from mailman.config import config
-from mailman.i18n import _
-from mailman.interfaces.command import ContinueProcessing, IEmailCommand
-from mailman.interfaces.member import DeliveryMode
-from mailman.interfaces.registrar import IRegistrar
-
-
-
-class Join:
- """The email 'join' command."""
- implements(IEmailCommand)
-
- name = 'join'
- argument_description = '[digest=] [address=]'
- description = _("""\
-Join this mailing list. You will be asked to confirm your subscription
-request and you may be issued a provisional password.
-
-By using the 'digest' option, you can specify whether you want digest delivery
-or not. If not specified, the mailing list's default will be used. You can
-also subscribe an alternative address by using the 'address' option. For
-example:
-
- join address=myotheraddress@example.com
-""")
-
- def process(self, mlist, msg, msgdata, arguments, results):
- """See `IEmailCommand`."""
- # Parse the arguments.
- address, delivery_mode = self._parse_arguments(arguments)
- if address is None:
- real_name, address = parseaddr(msg['from'])
- # Address could be None or the empty string.
- if not address:
- address = msg.get_sender()
- if not address:
- print >> results, _(
- '$self.name: No valid address found to subscribe')
- return ContinueProcessing.no
- domain = config.domains[mlist.host_name]
- registrar = IRegistrar(domain)
- registrar.register(address, real_name, mlist)
- person = formataddr((real_name, address))
- print >> results, _('Confirmation email sent to $person')
- return ContinueProcessing.yes
-
- def _parse_arguments(self, arguments):
- """Parse command arguments.
-
- :param arguments: The sequences of arguments as given to the
- `process()` method.
- :return: address, delivery_mode
- """
- address = None
- delivery_mode = None
- for argument in arguments:
- parts = argument.split('=', 1)
- if parts[0].lower() == 'digest':
- if digest is not None:
- print >> results, self.name, \
- _('duplicate argument: $argument')
- return ContinueProcessing.no
- if len(parts) == 0:
- # We treat just plain 'digest' as 'digest=yes'. We don't
- # yet support the other types of digest delivery.
- delivery_mode = DeliveryMode.mime_digests
- else:
- if parts[1].lower() == 'yes':
- delivery_mode = DeliveryMode.mime_digests
- elif parts[1].lower() == 'no':
- delivery_mode = DeliveryMode.regular
- else:
- print >> results, self.name, \
- _('bad argument: $argument')
- return ContinueProcessing.no
- elif parts[0].lower() == 'address':
- if address is not None:
- print >> results, self.name, \
- _('duplicate argument $argument')
- return ContinueProcessing.no
- if len(parts) == 0:
- print >> results, self.name, \
- _('missing argument value: $argument')
- return ContinueProcessing.no
- if len(parts) > 1:
- print >> results, self.name, \
- _('too many argument values: $argument')
- return ContinueProcessing.no
- address = parts[1]
- return address, delivery_mode
-
-
-
-class Subscribe(Join):
- """The email 'subscribe' command (an alias for 'join')."""
-
- name = 'subscribe'
--
cgit v1.2.3-70-g09d2