#!/usr/local/bin/python from mailmanclient import Client import os import sys CORE_URI=os.environ.get('MAILMAN_CORE_URI','http://mailman-core:8001/3.1') CORE_USER=os.environ.get('MAILMAN_REST_USER','restadmin') CORE_PASS=os.environ.get('MAILMAN_REST_PASSWORD','restpass') client=Client(CORE_URI,CORE_USER,CORE_PASS) ml_fqdn=sys.argv[1] ml=client.get_list(ml_fqdn) current_members=ml.members new_member_list=[] for member_email in sys.stdin: print("Received {}".format(member_email)) new_member_list.append(member_email) for member_email in current_members: if member_email not in new_member_list: print("Intend to unsubscribe {}".format(member_email)) # ml.unsubscribe(member_email) for member_email in new_member_list: if member_email not in current_members: print("Intend to subscribe {}".format(member_email)) # ml.subscribe(member_email, pre_verified=True, pre_confirmed=True, pre_approved=True)