Map roster visibility

This commit is contained in:
3wc 2024-02-28 13:20:04 -03:00
parent dd2a266a22
commit e3867f1656
1 changed files with 17 additions and 5 deletions

View File

@ -6,11 +6,12 @@ from bs4 import BeautifulSoup
from mailman.interfaces.archiver import ArchivePolicy from mailman.interfaces.archiver import ArchivePolicy
from mailman.interfaces.action import Action from mailman.interfaces.action import Action
from mailman.utilities.importer import NAME_MAPPINGS, member_moderation_action_mapping, dmarc_action_mapping from mailman.utilities.importer import NAME_MAPPINGS, member_moderation_action_mapping, dmarc_action_mapping, member_roster_visibility_mapping
KEYFILTER = ('submit') KEYFILTER = ('submit')
EXCLUDES = set(( EXCLUDES = set((
# EXCLUDES in `importer.py`
'accept_these_nonmembers', 'accept_these_nonmembers',
'delivery_status', 'delivery_status',
'digest_members', 'digest_members',
@ -27,8 +28,8 @@ EXCLUDES = set((
'digest_header': 'list:member:digest:header', 'digest_header': 'list:member:digest:header',
'digest_footer': 'list:member:digest:footer', 'digest_footer': 'list:member:digest:footer',
}.keys()) + ( }.keys()) + (
# some manual settings which don't seem to be handled by the conversion # some settings to manually skip, which don't seem to be handled by the
# script # conversion script
'archive_volume_frequency', 'archive_volume_frequency',
'autoresponse_postings_text_upload', 'autoresponse_postings_text_upload',
'autoresponse_admin_text_upload', 'autoresponse_admin_text_upload',
@ -70,8 +71,12 @@ EXCLUDES = set((
'dmarc_none_moderation_action', 'dmarc_none_moderation_action',
'forward_auto_discards', 'forward_auto_discards',
'hdrfilter_rebox_01', 'hdrfilter_rebox_01',
# TODO convert these instead of skipping 'bounce_matching_headers',
'private_roster' 'topic_rebox_01',
'topic_desc_01',
'topics_enabled',
'topic_box_01',
'topics_bodylines_limit',
)) ))
@ -201,4 +206,11 @@ if __name__ == "__main__":
else: else:
globalconfig['archive_policy'] = ArchivePolicy.never.name globalconfig['archive_policy'] = ArchivePolicy.never.name
# Handle roster visibility.
mapping = member_roster_visibility_mapping(
globalconfig.get('private_roster', None))
if mapping is not None:
globalconfig['member_roster_visibility'] = mapping.name
del globalconfig['private_roster']
print(json.dumps(globalconfig)) print(json.dumps(globalconfig))