mirror of
https://github.com/Ultimaker/Cura.git
synced 2025-07-16 11:17:49 -06:00
Make sure recently installed packages only appear once in package list
Some packages might be added to both `getPackagesToInstall` and `getAllInstalledPackagesInfo` cura 8587
This commit is contained in:
parent
743ac67cdb
commit
4c570c87e9
1 changed files with 11 additions and 3 deletions
|
@ -68,16 +68,24 @@ class CuraPackageManager(PackageManager):
|
|||
|
||||
def iterateAllLocalPackages(self) -> Generator[Dict[str, Any], None, None]:
|
||||
""" A generator which returns an unordered list of all the PackageModels"""
|
||||
handled_packages = set()
|
||||
|
||||
for packages in self.getAllInstalledPackagesInfo().values():
|
||||
for package_info in packages:
|
||||
yield package_info
|
||||
if not handled_packages.__contains__(package_info["package_id"]):
|
||||
handled_packages.add(package_info["package_id"])
|
||||
yield package_info
|
||||
|
||||
# Get all to be removed package_info's. These packages are still used in the current session so the user might
|
||||
# still want to interact with these.
|
||||
for package_data in self.getPackagesToRemove().values():
|
||||
yield package_data["package_info"]
|
||||
for package_data in self.getPackagesToRemove().values():
|
||||
if not handled_packages.__contains__(package_data["package_info"]["package_id"]):
|
||||
handled_packages.add(package_data["package_info"]["package_id"])
|
||||
yield package_data["package_info"]
|
||||
|
||||
# Get all to be installed package_info's. Since the user might want to interact with these
|
||||
for package_data in self.getPackagesToInstall().values():
|
||||
yield package_data["package_info"]
|
||||
if not handled_packages.__contains__(package_data["package_info"]["package_id"]):
|
||||
handled_packages.add(package_data["package_info"]["package_id"])
|
||||
yield package_data["package_info"]
|
Loading…
Add table
Add a link
Reference in a new issue