summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorklm1998-12-10 01:27:24 +0000
committerklm1998-12-10 01:27:24 +0000
commit264535c8aab880f39ed9ef1337ac5592b350b3d8 (patch)
tree792a640364a27d95941092c53465543c6b185a2e
parente70bccaf9850f40665327891dc48aad97dbf7c70 (diff)
downloadmailman-264535c8aab880f39ed9ef1337ac5592b350b3d8.tar.gz
mailman-264535c8aab880f39ed9ef1337ac5592b350b3d8.tar.zst
mailman-264535c8aab880f39ed9ef1337ac5592b350b3d8.zip
.SetOptionCommand(): For some reason the options descriptions keys now
includes digest, so the check for the special handling of the digest option was no longer working. I've reinstated that by explicitly checking for that special case first, so now the mailcommand version of digest setting is working.
-rw-r--r--Mailman/MailCommandHandler.py38
1 files changed, 21 insertions, 17 deletions
diff --git a/Mailman/MailCommandHandler.py b/Mailman/MailCommandHandler.py
index 4396f5098..af891e01b 100644
--- a/Mailman/MailCommandHandler.py
+++ b/Mailman/MailCommandHandler.py
@@ -186,9 +186,11 @@ class MailCommandHandler:
self.AddError("%s isn't subscribed to this list." % sender)
except Errors.MMBadPasswordError:
self.AddError("You gave the wrong password.")
+ except Errors.MMBadUserError:
+ self.AddError("Bad user - %s." % sender)
except:
exc = sys.exc_info()
- self.AddError("An unknown Mailman error occured."
+ self.AddError("An unknown Mailman error occured.")
self.AddError("Please forward on your request to %s" %
self.GetAdminEmail())
self.LogMsg("error",
@@ -239,25 +241,11 @@ class MailCommandHandler:
else:
ShowSetUsage()
return
- if option_info.has_key(args[0]):
+ if args[0] == 'digest':
try:
sender = self.FindUser(mail.GetSender())
- if not sender:
- self.AddError("You aren't subscribed.")
- return
self.ConfirmUserPassword(sender, args[2])
- self.SetUserOption(sender, option_info[args[0]], value)
- self.AddToResponse("Succeeded.")
- except Errors.MMBadPasswordError:
- self.AddError("You gave the wrong password.")
- except:
- self.AddError("An unknown Mailman error occured.")
- self.AddError("Please forward on your request to %s" %
- self.GetAdminEmail())
- self.AddError("%s" % sys.exc_type)
- elif args[0] == 'digest':
- try:
- self.SetUserDigest(mail.GetSender(), args[2], value)
+ self.SetUserDigest(mail.GetSender(), value)
self.AddToResponse("Succeeded.")
except Errors.MMAlreadyDigested:
self.AddError("You are already receiving digests.")
@@ -288,6 +276,22 @@ class MailCommandHandler:
self.AddError("Please forward on your request to %s" %
self.GetAdminEmail())
self.AddError("%s" % sys.exc_type)
+ elif option_info.has_key(args[0]):
+ try:
+ sender = self.FindUser(mail.GetSender())
+ if not sender:
+ self.AddError("You aren't subscribed.")
+ return
+ self.ConfirmUserPassword(sender, args[2])
+ self.SetUserOption(sender, option_info[args[0]], value)
+ self.AddToResponse("Succeeded.")
+ except Errors.MMBadPasswordError:
+ self.AddError("You gave the wrong password.")
+ except:
+ self.AddError("An unknown Mailman error occured.")
+ self.AddError("Please forward on your request to %s" %
+ self.GetAdminEmail())
+ self.AddError("%s" % sys.exc_type)
else:
ShowSetUsage()
return