diff options
Diffstat (limited to 'src/mailman/utilities/importer.py')
| -rw-r--r-- | src/mailman/utilities/importer.py | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/mailman/utilities/importer.py b/src/mailman/utilities/importer.py index 578e95dff..c5e73bcc5 100644 --- a/src/mailman/utilities/importer.py +++ b/src/mailman/utilities/importer.py @@ -35,14 +35,16 @@ from mailman.interfaces.digests import DigestFrequency from mailman.interfaces.errors import MailmanError from mailman.interfaces.languages import ILanguageManager from mailman.interfaces.mailinglist import ( - IAcceptableAliasSet, IHeaderMatchList, Personalization, ReplyToMunging, - SubscriptionPolicy) + IAcceptableAliasSet, IHeaderMatchList, Personalization, ReplyToMunging) from mailman.interfaces.member import DeliveryMode, DeliveryStatus, MemberRole from mailman.interfaces.nntp import NewsgroupModeration from mailman.interfaces.template import ITemplateManager from mailman.interfaces.usermanager import IUserManager from mailman.utilities.filesystem import makedirs from mailman.utilities.i18n import search +from mailman.workflows.subscription import ( + ConfirmModerationSubscriptionPolicy, ConfirmSubscriptionPolicy, + ModerationSubscriptionPolicy, OpenSubscriptionPolicy) from public import public from sqlalchemy import Boolean from zope.component import getUtility @@ -138,6 +140,15 @@ def action_to_chain(value): }[value] +def sub_policy_to_class(value): + return { + 0: OpenSubscriptionPolicy, + 1: ConfirmSubscriptionPolicy, + 2: ModerationSubscriptionPolicy, + 3: ConfirmModerationSubscriptionPolicy + }[value] + + def check_language_code(code): if code is None: return None @@ -180,7 +191,7 @@ TYPES = dict( personalize=Personalization, preferred_language=check_language_code, reply_goes_to_list=ReplyToMunging, - subscription_policy=SubscriptionPolicy, + subscription_policy=sub_policy_to_class, ) |
