Merge "Use urllib2 instead of requests in tempest generate plugin list"

This commit is contained in:
Jenkins 2017-06-15 05:51:17 +00:00 committed by Gerrit Code Review
commit 1f170f6a22

View File

@ -26,7 +26,12 @@
import json import json
import re 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/' url = 'https://review.openstack.org/projects/'
@ -49,21 +54,23 @@ def is_in_openstack_namespace(proj):
def has_tempest_plugin(proj): def has_tempest_plugin(proj):
if proj.startswith('openstack/deb-'): try:
return False r = urllib.urlopen("https://git.openstack.org/cgit/%s/plain/setup.cfg"
r = requests.get( % proj)
"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) p = re.compile('^tempest\.test_plugins', re.M)
if p.findall(r.text): if p.findall(r.read()):
return True return True
else: else:
False False
r = requests.get(url) r = urllib.urlopen(url)
# Gerrit prepends 4 garbage octets to the JSON, in order to counter # Gerrit prepends 4 garbage octets to the JSON, in order to counter
# cross-site scripting attacks. Therefore we must discard it so the # cross-site scripting attacks. Therefore we must discard it so the
# json library won't choke. # 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)) found_plugins = list(filter(has_tempest_plugin, projects))