Re: [jenkins-ci PATCH v4 2/5] lcitool: avoid repetition when expanding package mappings

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, 2019-02-21 at 16:33 +0000, Daniel P. Berrangé wrote:
[...]
> +        keys = ["default", package_format, os_name, os_full]
>          # We need to add the base project manually here: the standard
>          # machinery hides it because it's an implementation detail
>          for project in projects + ["base"]:
>              for package in self._projects.get_packages(project):
> -                if "default" in mappings[package]:
> -                    temp[package] = mappings[package]["default"]
> -                if package_format in mappings[package]:
> -                    temp[package] = mappings[package][package_format]
> -                if os_name in mappings[package]:
> -                    temp[package] = mappings[package][os_name]
> -                if os_full in mappings[package]:
> -                    temp[package] = mappings[package][os_full]
> +                for key in keys:
> +                    if key in mappings[package]:
> +                        temp[package] = mappings[package][key]

Little historical note: the reason why the code looked like this in
the first place[1] is that its structure was supposed to mirror that
of playbooks/update/tasks/packages.yml as closely as possible - the
idea being that, if the Ansible implementation was correct, then the
Python one would most likely be as well.

Of course that's no longer the case as of dcded110e102, so it makes
perfect sense to go further down this road and make the code more
compact.

Reviewed-by: Andrea Bolognani <abologna@xxxxxxxxxx>


[1] In addition to Python being admittedly not my forte :)
-- 
Andrea Bolognani / Red Hat / Virtualization

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux