in releasedocmaker/src/main/python/releasedocmaker/getversions.py [0:0]
def __init__(self, versions, projects, jira_base_url):
self.userversions = sorted(versions, key=ReleaseVersion)
logging.info("Looking for %s through %s", self.userversions[0],
self.userversions[-1])
serverversions = set()
for project in projects:
url = f"{jira_base_url}/rest/api/2/project/{project.upper()}/versions"
try:
resp = get_jira(url)
except (urllib.error.HTTPError, urllib.error.URLError,
http.client.BadStatusLine):
sys.exit(1)
datum = json.loads(resp.read())
for data in datum:
serverversions.add(data['name'])
serverversions = sorted(serverversions, key=ReleaseVersion)
combolist = serverversions + self.userversions
comboset = set(combolist)
combolist = sorted(comboset, key=ReleaseVersion)
start_index = combolist.index(self.userversions[0])
end_index = combolist.index(self.userversions[-1])
self.versions = []
for candidate in combolist[start_index:end_index+1]:
if candidate in serverversions:
self.versions.append(candidate)
logging.info('Adding %s to the list', candidate)