def get_all_mailman_lists(): result = check_output(['/usr/sbin/list_lists', '-b']) mailman2_lists = str(result,"ascii").split('\n') c = Client(MAILMAN3_API_URL, MAILMAN3_API_USER, MAILMAN3_API_PASSWORD) mailman3_lists = [ls.list_name for ls in c.get_lists()] return list(set(mailman2_lists) | set(mailman3_lists))
parser.add_argument('--list-fqdn', dest='list_fqdn', action='append', default=None) parser.add_argument('--core-uri', dest='core_uri', default=CORE_URI) parser.add_argument('--rest-user', dest='core_user', default=CORE_USER) parser.add_argument('--rest-password', dest='core_password', default=CORE_PASS) args = parser.parse_args() # client = Client(CORE_URI, CORE_USER, CORE_PASS) client = Client(args.core_uri, args.core_user, args.core_password) results = {} for ml in client.get_lists(): list_name = ml.settings['list_name'] list_fqdn_name = ml.settings['fqdn_listname'] if args.list_fqdn: if not (list_fqdn_name in args.list_fqdn): # if list name doesn't match required # skip along continue try: messages_held = len(ml.held) except: messages_held = -1 try: members = ml.rest_data['member_count'] except: members = -1