#!/usr/bin/python3.6

import urllib.request, urllib.error, urllib.parse
from lxml import etree
import sys

printurls = False
if (len(sys.argv) == 2) and (sys.argv[1] == '-u'):
    printurls = True
elif len(sys.argv) != 1:
    sys.exit("Usage: print_osg_repos [-u]")

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

repos = []
for urlfield in doc.xpath("//VO/OASIS/OASISRepoURLs/URL"):
    url = urlfield.text
    if url[-1] == '/':
      # remove a trailing slash
      url = url[:-1]
    if printurls:
      repos.append(url)
    else:
      repos.append(url[url.rfind('/')+1:])

repos.sort()
for repo in repos:
    print(repo)
