diff options
| author | Barry Warsaw | 2015-04-22 10:25:12 -0400 |
|---|---|---|
| committer | Barry Warsaw | 2015-04-22 10:25:12 -0400 |
| commit | 6ab77ea42b65839ac87876719dc3069c0989d67a (patch) | |
| tree | 097efcd0ca15da887c887b41f7d799ce08e30891 /src/mailman/utilities/importer.py | |
| parent | ab41980bf3e69b81eff43172149667e2c0834a2e (diff) | |
| parent | 34586187d3b126f2efd6cbbf2cc86eaae285d838 (diff) | |
| download | mailman-6ab77ea42b65839ac87876719dc3069c0989d67a.tar.gz mailman-6ab77ea42b65839ac87876719dc3069c0989d67a.tar.zst mailman-6ab77ea42b65839ac87876719dc3069c0989d67a.zip | |
* The test suite now runs successfully again with PostgreSQL. Given by
Aurélien Bompard. (LP: #1435941)
Diffstat (limited to 'src/mailman/utilities/importer.py')
| -rw-r--r-- | src/mailman/utilities/importer.py | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/mailman/utilities/importer.py b/src/mailman/utilities/importer.py index 66a23123c..b55d8c38d 100644 --- a/src/mailman/utilities/importer.py +++ b/src/mailman/utilities/importer.py @@ -47,6 +47,7 @@ from mailman.interfaces.nntp import NewsgroupModeration from mailman.interfaces.usermanager import IUserManager from mailman.utilities.filesystem import makedirs from mailman.utilities.i18n import search +from sqlalchemy import Boolean from urllib.error import URLError from zope.component import getUtility @@ -151,9 +152,9 @@ enabled: yes -# Attributes in Mailman 2 which have a different type in Mailman 3. +# Attributes in Mailman 2 which have a different type in Mailman 3. Some +# types (e.g. bools) are autodetected from their SA column types. TYPES = dict( - allow_list_posts=bool, autorespond_owner=ResponseAction, autorespond_postings=ResponseAction, autorespond_requests=ResponseAction, @@ -163,24 +164,18 @@ TYPES = dict( default_member_action=member_action_mapping, default_nonmember_action=nonmember_action_mapping, digest_volume_frequency=DigestFrequency, - emergency=bool, - encode_ascii_prefixes=bool, filter_action=filter_action_mapping, filter_extensions=list_members_to_unicode, filter_types=list_members_to_unicode, forward_unrecognized_bounces_to=UnrecognizedBounceDisposition, - gateway_to_mail=bool, - include_rfc2369_headers=bool, moderator_password=str_to_bytes, newsgroup_moderation=NewsgroupModeration, - nntp_prefix_subject_too=bool, pass_extensions=list_members_to_unicode, pass_types=list_members_to_unicode, personalize=Personalization, preferred_language=check_language_code, reply_goes_to_list=ReplyToMunging, subscription_policy=SubscriptionPolicy, - topics_enabled=bool, ) @@ -253,6 +248,10 @@ def import_config_pck(mlist, config_dict): value = bytes_to_str(value) # Some types require conversion. converter = TYPES.get(key) + if converter is None: + column = getattr(mlist.__class__, key, None) + if column is not None and isinstance(column.type, Boolean): + converter = bool try: if converter is not None: value = converter(value) |
