summaryrefslogtreecommitdiff
path: root/Mailman/versions.py
diff options
context:
space:
mode:
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.