diff --git a/src/update_manager.py b/src/update_manager.py index 252dc5e..1cc9b51 100644 --- a/src/update_manager.py +++ b/src/update_manager.py @@ -260,12 +260,14 @@ def _process_release_information(self): with self._releasesRawPath.open("rb") as file: releases = json.load(file) # Will be an array of objects. - if releases is None: + if releases is None or len(releases) == 0: + logger.error(f"No information {releases=}") return None latestIndex = None latestPublished = None runningIndex = None + prereleases = 0 for index, release in enumerate(releases): published, publishedStr = self._published(release) running, prerelease, name = self._running(release) @@ -284,6 +286,7 @@ def _process_release_information(self): if prerelease: + prereleases += 1 continue if latestIndex is not None: @@ -296,8 +299,6 @@ def _process_release_information(self): latestIndex = index latestPublished = published - - # ToDo add a CLI to override this. if runningIndex is None: logger.info( @@ -305,6 +306,13 @@ def _process_release_information(self): " No installer asset download.") self._state.set(runningPublished=" in development.") return None + + if latestIndex is None: + logger.info( + f'{latestIndex=}.' + f' Total release count {len(releases)}.' + f' Of which, prerelease count {prereleases}.') + return None if latestIndex == runningIndex: # Running software is the latest published, so no need to download