summaryrefslogtreecommitdiff
path: root/mailman/Commands/cmd_confirm.py
diff options
context:
space:
mode:
authorBarry Warsaw2008-04-26 01:39:14 -0400
committerBarry Warsaw2008-04-26 01:39:14 -0400
commitfbd382c07dc621bda9b724675b1df75746d07179 (patch)
tree28f18a653afc000b4b7595e7793e2b76c833ab9e /mailman/Commands/cmd_confirm.py
parent574405b3aa5e3afa475c9e2904a27be40c0bbc83 (diff)
parent2547651d03cfdf23632ded85c05bb02161688d45 (diff)
downloadmailman-fbd382c07dc621bda9b724675b1df75746d07179.tar.gz
mailman-fbd382c07dc621bda9b724675b1df75746d07179.tar.zst
mailman-fbd382c07dc621bda9b724675b1df75746d07179.zip
Diffstat (limited to 'mailman/Commands/cmd_confirm.py')
-rw-r--r--mailman/Commands/cmd_confirm.py98
1 files changed, 0 insertions, 98 deletions
diff --git a/mailman/Commands/cmd_confirm.py b/mailman/Commands/cmd_confirm.py
deleted file mode 100644
index 47d88a704..000000000
--- a/mailman/Commands/cmd_confirm.py
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright (C) 2002-2008 by the Free Software Foundation, Inc.
-#
-# This program 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 2
-# of the License, or (at your option) any later version.
-#
-# This program 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 this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
-# USA.
-
-"""
- confirm <confirmation-string>
- Confirm an action. The confirmation-string is required and should be
- supplied by a mailback confirmation notice.
-"""
-
-from mailman import Errors
-from mailman import Pending
-from mailman.configuration import config
-from mailman.i18n import _
-
-STOP = 1
-
-
-
-def gethelp(mlist):
- return _(__doc__)
-
-
-
-def process(res, args):
- mlist = res.mlist
- if len(args) <> 1:
- res.results.append(_('Usage:'))
- res.results.append(gethelp(mlist))
- return STOP
- cookie = args[0]
- try:
- results = mlist.ProcessConfirmation(cookie, res.msg)
- except Errors.MMBadConfirmation, e:
- # Express in approximate days
- days = int(config.PENDING_REQUEST_LIFE / config.days(1) + 0.5)
- res.results.append(_("""\
-Invalid confirmation string. Note that confirmation strings expire
-approximately %(days)s days after the initial subscription request. If your
-confirmation has expired, please try to re-submit your original request or
-message."""))
- except Errors.MMNeedApproval:
- res.results.append(_("""\
-Your request has been forwarded to the list moderator for approval."""))
- except Errors.MMAlreadyAMember:
- # Some other subscription request for this address has
- # already succeeded.
- res.results.append(_('You are already subscribed.'))
- except Errors.NotAMemberError:
- # They've already been unsubscribed
- res.results.append(_("""\
-You are not currently a member. Have you already unsubscribed or changed
-your email address?"""))
- except Errors.MembershipIsBanned:
- owneraddr = mlist.GetOwnerEmail()
- res.results.append(_("""\
-You are currently banned from subscribing to this list. If you think this
-restriction is erroneous, please contact the list owners at
-%(owneraddr)s."""))
- except Errors.HostileSubscriptionError:
- res.results.append(_("""\
-You were not invited to this mailing list. The invitation has been discarded,
-and both list administrators have been alerted."""))
- except Errors.MMBadPasswordError:
- res.results.append(_("""\
-Bad approval password given. Held message is still being held."""))
- else:
- if ((results[0] == Pending.SUBSCRIPTION and mlist.send_welcome_msg)
- or
- (results[0] == Pending.UNSUBSCRIPTION and mlist.send_goodbye_msg)):
- # We don't also need to send a confirmation succeeded message
- res.respond = 0
- else:
- res.results.append(_('Confirmation succeeded'))
- # Consume any other confirmation strings with the same cookie so
- # the user doesn't get a misleading "unprocessed" message.
- match = 'confirm ' + cookie
- unprocessed = []
- for line in res.commands:
- if line.lstrip() == match:
- continue
- unprocessed.append(line)
- res.commands = unprocessed
- # Process just one confirmation string per message
- return STOP