Exemplo n.º 1
0
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))
Exemplo n.º 2
0
    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