#!/usr/bin/python3

import argparse
import json
import re
import sys


if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument(
        "--url-prefix",
        help="URL prefix of the mirror whose email address shall be displayed")
    args = parser.parse_args()
    with open('mirrors.json', 'r', encoding='utf-8') as f:
        mirrors = json.loads(f.read())['mirrors']
    if args.url_prefix:
        assert re.compile(r'^https?\:\/\/[\w\-\.]+').match(args.url_prefix)
        email_addresses = [mirror['email'] for mirror in mirrors
                           if mirror['url_prefix'] == args.url_prefix]
        assert len(email_addresses) == 1
        print(email_addresses[0])
    else:
        email_addresses = []
        for mirror in mirrors:
            if mirror['weight'] <= 0:
                continue
            if 'email' in mirror:
                email_addresses.append(mirror['email'])
            else:
                print(f"W: no email address for mirror {mirror['url_prefix']}",
                      file=sys.stderr)
        print(",".join(email_addresses))
