summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorklm1998-10-22 19:39:04 +0000
committerklm1998-10-22 19:39:04 +0000
commit0eb0572a6f7f521c23cd88d13b06fd8c48d15511 (patch)
tree9174d4784b4685a828123332f781cb2024562182
parent4e72daaa69e254fd40394416b0115956c6fe8ac3 (diff)
downloadmailman-0eb0572a6f7f521c23cd88d13b06fd8c48d15511.tar.gz
mailman-0eb0572a6f7f521c23cd88d13b06fd8c48d15511.tar.zst
mailman-0eb0572a6f7f521c23cd88d13b06fd8c48d15511.zip
-rw-r--r--Mailman/versions.py27
1 files changed, 17 insertions, 10 deletions
diff --git a/Mailman/versions.py b/Mailman/versions.py
index a211ad406..02bf2d7ac 100644
--- a/Mailman/versions.py
+++ b/Mailman/versions.py
@@ -42,26 +42,36 @@ def Update(l, stored_state):
UpdateOldVars(l, stored_state)
UpdateOldUsers(l)
+uniqueval = []
def UpdateOldVars(l, stored_state):
"""Transform old variable values into new ones, deleting old ones.
stored_state is last snapshot from file, as opposed to from InitVars()."""
- def PreferStored(oldname, newname, l=l, state=stored_state):
- "Use specified value if new value does not come from stored state."
+ def PreferStored(oldname, newname, newdefault=uniqueval,
+ l=l, state=stored_state):
+ """Use specified old value if new value does is not in stored state.
+
+ If the old attr does not exist, and no newdefault is specified, the
+ new attr is *not* created - so either specify a default or be
+ positive that the old attr exists - or don't depend on the new attr."""
if hasattr(l, oldname):
if not state.has_key(newname):
setattr(l, newname, getattr(l, oldname))
delattr(l, oldname)
+ if not hasattr(l, newname) and newdefault is not uniqueval:
+ setattr(l, newname, newdefault)
+
+ # Migrate to 1.0b6, klm 10/22/1998:
+ PreferStored('reminders_to_admins', 'umbrella_list',
+ mm_cfg.DEFAULT_UMBRELLA_LIST)
- # Pre 1.0b1.2, klm 04/11/1998.
- # - migrated vars:
+ # Migrate up to 1.0b5:
PreferStored('auto_subscribe', 'open_subscribe')
PreferStored('closed', 'private_roster')
PreferStored('mimimum_post_count_before_removal',
'mimimum_post_count_before_bounce_action')
PreferStored('bad_posters', 'forbidden_posters')
PreferStored('automatically_remove', 'automatic_bounce_action')
- PreferStored('reminders_to_admins', 'umbrella_list')
if hasattr(l, "open_subscribe"):
if l.open_subscribe:
if mm_cfg.ALLOW_OPEN_SUBSCRIBE:
@@ -74,11 +84,8 @@ def UpdateOldVars(l, stored_state):
if not hasattr(l, "administrivia"):
setattr(l, "administrivia", mm_cfg.DEFAULT_ADMINISTRIVIA)
if not hasattr(l, "posters_includes_members"):
- setattr(l, "posters_includes_members", mm_cfg.DEFAULT_POSTERS_INCLUDES_MEMBERS)
- # - dropped vars:
-# for a in ['archive_retain_text_copy',
-# 'archive_update_frequency']:
-# if hasattr(l, a): delattr(l, a)
+ setattr(l, "posters_includes_members",
+ mm_cfg.DEFAULT_POSTERS_INCLUDES_MEMBERS)
def UpdateOldUsers(l):
"""Transform sense of changed user options."""