summaryrefslogtreecommitdiff
path: root/src/mailman/commands/cmd_confirm.py
diff options
context:
space:
mode:
authorBarry Warsaw2009-03-29 15:40:22 -0500
committerBarry Warsaw2009-03-29 15:40:22 -0500
commit5388a2358749a1774bb801e6e6839c1798998a1f (patch)
tree6bf6f2a10f1f1f588d5ca6d2f4c8ec8e6530cb4a /src/mailman/commands/cmd_confirm.py
parentf90c651d85050b9ad3b33bdf210672452d2ba1f0 (diff)
downloadmailman-5388a2358749a1774bb801e6e6839c1798998a1f.tar.gz
mailman-5388a2358749a1774bb801e6e6839c1798998a1f.tar.zst
mailman-5388a2358749a1774bb801e6e6839c1798998a1f.zip
Add argparse 'cause I think this might end up being cool.
Refactor the finding of components so that it's much easier to find and register the ones that come with Mailman by default. Move all the old cmd_*.py commands into the attic. These will eventually be ported to the new framework.
Diffstat (limited to 'src/mailman/commands/cmd_confirm.py')
-rw-r--r--src/mailman/commands/cmd_confirm.py98
1 files changed, 0 insertions, 98 deletions
diff --git a/src/mailman/commands/cmd_confirm.py b/src/mailman/commands/cmd_confirm.py
deleted file mode 100644
index b5e4182bd..000000000
--- a/src/mailman/commands/cmd_confirm.py
+++ /dev/null
@@ -1,98 +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 <http://www.gnu.org/licenses/>.
-
-"""
- 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.config 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