[Buildroot] [PATCH v3 01/12] support/scripts/pkg-stats: store latest version in a dict

Titouan Christophe titouan.christophe at railnova.eu
Sun Feb 23 13:26:42 UTC 2020


Hello Heiko and all,

On 2/22/20 9:57 AM, Heiko Thiery wrote:
> From: Heiko Thiery <heiko.thiery at kontron.com>
> 
> This patch changes the type of the latest_version variable to a dict.
> This is for better readability/usability of the data. With this the json
> output is more descriptive in later processing of the json output.
> 
> Signed-off-by: Heiko Thiery <heiko.thiery at kontron.com>
> Signed-off-by: Heiko Thiery <heiko.thiery at gmail.com>

You signed off with both your personal and work email addresses, was 
this intended ?

> ---
>   support/scripts/pkg-stats | 33 +++++++++++++++++----------------
>   1 file changed, 17 insertions(+), 16 deletions(-)
> 
> diff --git a/support/scripts/pkg-stats b/support/scripts/pkg-stats
> index 7721d98459..8cc78f2f66 100755
> --- a/support/scripts/pkg-stats
> +++ b/support/scripts/pkg-stats
> @@ -71,7 +71,7 @@ class Package:
>           self.url_status = None
>           self.url_worker = None
>           self.cves = list()
> -        self.latest_version = (RM_API_STATUS_ERROR, None, None)
> +        self.latest_version = {'status': RM_API_STATUS_ERROR, 'version': None, 'id': None}
>   
>       def pkgvar(self):
>           return self.name.upper().replace("-", "_")
> @@ -460,9 +460,8 @@ def check_package_latest_version(packages):
>       """
>       Fills in the .latest_version field of all Package objects
>   
> -    This field has a special format:
> -      (status, version, id)
> -    with:
> +    This field is a dict and has the following keys:
> +
>       - status: one of RM_API_STATUS_ERROR,
>         RM_API_STATUS_FOUND_BY_DISTRO, RM_API_STATUS_FOUND_BY_PATTERN,
>         RM_API_STATUS_NOT_FOUND
> @@ -478,7 +477,9 @@ def check_package_latest_version(packages):
>       worker_pool = Pool(processes=64)
>       results = worker_pool.map(check_package_latest_version_worker, (pkg.name for pkg in packages))
>       for pkg, r in zip(packages, results):
> -        pkg.latest_version = r
> +        pkg.latest_version['status'] = r[0]
> +        pkg.latest_version['version'] = r[1]
> +        pkg.latest_version['id'] = r[2]

Bikeshedding, but maybe more elegant:

pkg.latest_version = dict(zip(['status', 'version', 'id'], r))


More information about the buildroot mailing list