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
1 changed files with 15 additions and 8 deletions

View File

@ -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))