Minor cleanup of update package logic to make it easier to read

This commit is contained in:
IamTheFij 2024-07-08 11:09:10 -07:00
parent 0a9f37ae63
commit 269e565f4f

View File

@ -125,6 +125,8 @@ class Unhacs:
def upgrade_packages(self, package_names: list[str]): def upgrade_packages(self, package_names: list[str]):
"""Uograde to latest version of packages and update lock.""" """Uograde to latest version of packages and update lock."""
installed_packages: Iterable[Package]
if not package_names: if not package_names:
installed_packages = get_installed_packages(self.hass_config) installed_packages = get_installed_packages(self.hass_config)
else: else:
@ -134,7 +136,7 @@ class Unhacs:
if p.name in package_names if p.name in package_names
] ]
upgrade_packages: list[Package] = [] outdated_packages: list[Package] = []
latest_packages = [p.get_latest() for p in installed_packages] latest_packages = [p.get_latest() for p in installed_packages]
for installed_package, latest_package in zip( for installed_package, latest_package in zip(
installed_packages, latest_packages installed_packages, latest_packages
@ -143,16 +145,12 @@ class Unhacs:
print( print(
f"upgrade {installed_package.name} from {installed_package.version} to {latest_package.version}" f"upgrade {installed_package.name} from {installed_package.version} to {latest_package.version}"
) )
upgrade_packages.append(latest_package) outdated_packages.append(latest_package)
if not upgrade_packages: if outdated_packages and input("Upgrade all packages? (y/N) ").lower() != "y":
print("Nothing to upgrade")
return return
if input("Upgrade all packages? (y/N) ").strip().lower() != "y": for installed_package in outdated_packages:
return
for installed_package in upgrade_packages:
installed_package.install(self.hass_config) installed_package.install(self.hass_config)
# Update lock file to latest now that we know they are uograded # Update lock file to latest now that we know they are uograded