summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbwarsaw1999-07-03 01:46:41 +0000
committerbwarsaw1999-07-03 01:46:41 +0000
commitdec556341a6bac11ae67c80d571cc8cd7d0e9083 (patch)
treec2eeda5c6bf17014dd0641a4150279e3c4e21961
parentf4d7690f3ddf038fd60257c51470b5a3e7ef6a79 (diff)
downloadmailman-dec556341a6bac11ae67c80d571cc8cd7d0e9083.tar.gz
mailman-dec556341a6bac11ae67c80d571cc8cd7d0e9083.tar.zst
mailman-dec556341a6bac11ae67c80d571cc8cd7d0e9083.zip
Update(): Call CanonicalizeUserOptions()
CanonicalizeUserOptions(): New function that merges all mixed-case-keyed user_options and stores them using lower case keys.
Diffstat (limited to '')
-rw-r--r--Mailman/versions.py15
1 files changed, 15 insertions, 0 deletions
diff --git a/Mailman/versions.py b/Mailman/versions.py
index 35b0d9626..3766ae853 100644
--- a/Mailman/versions.py
+++ b/Mailman/versions.py
@@ -46,6 +46,7 @@ def Update(l, stored_state):
# No worry about entirely new vars because InitVars() takes care of them.
UpdateOldVars(l, stored_state)
UpdateOldUsers(l)
+ CanonicalizeUserOptions(l)
uniqueval = []
def UpdateOldVars(l, stored_state):
@@ -164,6 +165,20 @@ def UpdateOldUsers(l):
l.passwords = passwords
+def CanonicalizeUserOptions(l):
+ """Keys in user_options must be lower case."""
+ # pre 1.0rc2 to 1.0rc3. For all keys in l.user_options to be lowercase,
+ # but merge options for both cases
+ options = {}
+ for k, v in l.user_options.items():
+ lcuser = string.lower(k)
+ flags = 0
+ if options.has_key(lcuser):
+ flags = options[lcuser]
+ flags = flags | v
+ options[lcuser] = flags
+ l.user_options = options
+
def older(version, reference):
"""True if version is older than current.