diff --git a/identity_federations_contacts.py b/identity_federations_contacts.py new file mode 100755 index 0000000000000000000000000000000000000000..7ba5db77cb507ef4c48d0b69b43fa4be2c7360c6 --- /dev/null +++ b/identity_federations_contacts.py @@ -0,0 +1,28 @@ +#!/usr/bin/env python3 + +# This script consume the eduGAIN API to retrieve the details of all the +# eduGAIN identity federations and parse it to create a list of security +# email addresses, if available, and the corresponding federation name in +# CSV format. +# This list will be printed to stdout. + +import requests + +feds = requests.get('https://technical.edugain.org/api.php?action=list_feds_full') + +feds_dict = feds.json() + +print('FEDERATION,COUNTRIES,SECURITY CONTACT,FEDERATION CONTACT') + +for fed in feds_dict: + if feds_dict[fed]['status'] == '6': + countries = "" + security_contact = "" + if 'security_contact' in feds_dict[fed]: + if 'mail' in feds_dict[fed]['security_contact']: + security_contact = feds_dict[fed]['security_contact']['mail']['value'] + if 'countries' in feds_dict[fed]: + countries_array = feds_dict[fed]['countries'] + for country in countries_array: + countries = countries + " " + country + print(f"{fed},{countries.strip()},{security_contact},{feds_dict[fed]['contact_email']}")