#!/usr/bin/python3 import urllib.request import lxml.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("http://my.opensciencegrid.org/vosummary/xml?summary_attrs_showoasis=on&all_vos=on&active=on&active_value=1&sort_key=name") doc = lxml.etree.XML(response.read()) 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)