diff --git a/tools/generate-tempest-plugins-list.py b/tools/generate-tempest-plugins-list.py index 8d26c258f3..238a976c0e 100644 --- a/tools/generate-tempest-plugins-list.py +++ b/tools/generate-tempest-plugins-list.py @@ -26,7 +26,12 @@ import json import re -import requests +try: + # For Python 3.0 and later + import urllib +except ImportError: + # Fall back to Python 2's urllib2 + import urllib2 as urllib url = 'https://review.openstack.org/projects/' @@ -49,21 +54,23 @@ def is_in_openstack_namespace(proj): def has_tempest_plugin(proj): - if proj.startswith('openstack/deb-'): - return False - r = requests.get( - "https://git.openstack.org/cgit/%s/plain/setup.cfg" % proj) + try: + r = urllib.urlopen("https://git.openstack.org/cgit/%s/plain/setup.cfg" + % proj) + except urllib.HTTPError as err: + if err.code == 404: + return False p = re.compile('^tempest\.test_plugins', re.M) - if p.findall(r.text): + if p.findall(r.read()): return True else: False -r = requests.get(url) +r = urllib.urlopen(url) # Gerrit prepends 4 garbage octets to the JSON, in order to counter # cross-site scripting attacks. Therefore we must discard it so the # json library won't choke. -projects = sorted(filter(is_in_openstack_namespace, json.loads(r.text[4:]))) +projects = sorted(filter(is_in_openstack_namespace, json.loads(r.read()[4:]))) found_plugins = list(filter(has_tempest_plugin, projects))