#!/usr/bin/python3.6

import urllib.request
from lxml import etree
import sys
import re

response = urllib.request.urlopen("https://topology.opensciencegrid.org/vosummary/xml?summary_attrs_showoasis=on&all_vos=on&active=on&active_value=1&oasis=on&oasis_value=1&sort_key=name", timeout=30)
xml = response.read()
doc = etree.XML(xml)

vonames = []
for vo in doc.xpath("//VO"):
    voname = vo.xpath("Name")[0].text
    if vo.xpath("OASIS/Managers/Manager"):
        voname = re.sub(r'[^/a-z0-9]+', '', voname.lower())
        vonames.append(voname)

vonames.sort()
for voname in vonames:
    print(voname)
