update-python-libraries: support GitHub repositories with tag releases only (#435695)

authored by Martin Weinelt and committed by GitHub a5345967 d5ffbd6c

+9 -1
+9 -1
pkgs/by-name/up/update-python-libraries/update-python-libraries.py
··· 283 283 releases = list(filter(lambda x: not x["prerelease"], all_releases)) 284 284 285 285 if len(releases) == 0: 286 - raise ValueError(f"{homepage} does not contain any stable releases") 286 + logging.warning(f"{homepage} does not contain any stable releases, looking for tags instead...") 287 + url = f"https://api.github.com/repos/{owner}/{repo}/tags" 288 + all_tags = _fetch_github(url) 289 + # Releases are used with a couple of fields that tags possess as well. We will fake these releases. 290 + releases = [{'tag_name': tag['name'], 'tarball_url': tag['tarball_url']} for tag in all_tags] 291 + 292 + if len(releases) == 0: 293 + raise ValueError(f"{homepage} does not contain any stable releases neither tags, stopping now.") 287 294 288 295 versions = map(lambda x: strip_prefix(x["tag_name"]), releases) 289 296 version = _determine_latest_version(current_version, target, versions) ··· 457 464 successful_fetch = True 458 465 break 459 466 except ValueError: 467 + logging.exception(f"Failed to fetch releases for {pname}") 460 468 continue 461 469 462 470 if not successful_fetch: