In os_installer_product_info better handle the failure to find a server metadata file for a macos product

This commit is contained in:
Greg Neagle 2019-08-18 09:00:18 -07:00
parent d573b42232
commit 7d1df62482

View File

@ -399,21 +399,22 @@ def os_installer_product_info(catalog, workdir, ignore_cache=False):
for product_key in installer_products: for product_key in installer_products:
product_info[product_key] = {} product_info[product_key] = {}
filename = get_server_metadata(catalog, product_key, workdir) filename = get_server_metadata(catalog, product_key, workdir)
product_info[product_key] = parse_server_metadata(filename) if filename:
product = catalog['Products'][product_key] product_info[product_key] = parse_server_metadata(filename)
product_info[product_key]['PostDate'] = product['PostDate'] product = catalog['Products'][product_key]
distributions = product['Distributions'] product_info[product_key]['PostDate'] = product['PostDate']
dist_url = distributions.get('English') or distributions.get('en') distributions = product['Distributions']
try: dist_url = distributions.get('English') or distributions.get('en')
dist_path = replicate_url( try:
dist_url, root_dir=workdir, ignore_cache=ignore_cache) dist_path = replicate_url(
except ReplicationError as err: dist_url, root_dir=workdir, ignore_cache=ignore_cache)
print('Could not replicate %s: %s' % (dist_url, err), except ReplicationError as err:
file=sys.stderr) print('Could not replicate %s: %s' % (dist_url, err),
else: file=sys.stderr)
dist_info = parse_dist(dist_path) else:
product_info[product_key]['DistributionPath'] = dist_path dist_info = parse_dist(dist_path)
product_info[product_key].update(dist_info) product_info[product_key]['DistributionPath'] = dist_path
product_info[product_key].update(dist_info)
return product_info return product_info