[RFC PATCH v1 1/8] utils: codegen: ipc: Use `any()` instead of `len([]) > 0`
Paul Elder
paul.elder at ideasonboard.com
Thu May 15 14:13:18 CEST 2025
Quoting Barnabás Pőcze (2025-05-15 14:00:05)
> Use `any()` with a generator expression instead of constructing
> a list and checking its length.
>
> Signed-off-by: Barnabás Pőcze <barnabas.pocze at ideasonboard.com>
Reviewed-by: Paul Elder <paul.elder at ideasonboard.com>
> ---
> .../ipc/generators/mojom_libcamera_generator.py | 14 +++++++-------
> 1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/utils/codegen/ipc/generators/mojom_libcamera_generator.py b/utils/codegen/ipc/generators/mojom_libcamera_generator.py
> index d9c620a05..eff29a5b8 100644
> --- a/utils/codegen/ipc/generators/mojom_libcamera_generator.py
> +++ b/utils/codegen/ipc/generators/mojom_libcamera_generator.py
> @@ -166,7 +166,7 @@ def MethodParamOutputs(method):
> return method.response_parameters[1:]
>
> def MethodParamsHaveFd(parameters):
> - return len([x for x in parameters if HasFd(x)]) > 0
> + return any(x for x in parameters if HasFd(x))
>
> def MethodInputHasFd(method):
> return MethodParamsHaveFd(method.parameters)
> @@ -465,9 +465,9 @@ class Generator(generator.Generator):
> 'cmd_event_enum_name': '_%sEventCmd' % self.module_name,
> 'consts': self.module.constants,
> 'enums': self.module.enums,
> - 'has_array': len([x for x in self.module.kinds.keys() if x[0] == 'a']) > 0,
> - 'has_map': len([x for x in self.module.kinds.keys() if x[0] == 'm']) > 0,
> - 'has_string': len([x for x in self.module.kinds.keys() if x[0] == 's']) > 0,
> + 'has_array': any(x for x in self.module.kinds.keys() if x[0] == 'a'),
> + 'has_map': any(x for x in self.module.kinds.keys() if x[0] == 'm'),
> + 'has_string': any(x for x in self.module.kinds.keys() if x[0] == 's'),
> 'has_namespace': self.module.mojom_namespace != '',
> 'interface_event': GetEventInterface(self.module.interfaces),
> 'interface_main': GetMainInterface(self.module.interfaces),
> @@ -485,9 +485,9 @@ class Generator(generator.Generator):
> return {
> 'consts': self.module.constants,
> 'enums_gen_header': [x for x in self.module.enums if x.attributes is None or 'skipHeader' not in x.attributes],
> - 'has_array': len([x for x in self.module.kinds.keys() if x[0] == 'a']) > 0,
> - 'has_map': len([x for x in self.module.kinds.keys() if x[0] == 'm']) > 0,
> - 'has_string': len([x for x in self.module.kinds.keys() if x[0] == 's']) > 0,
> + 'has_array': any(x for x in self.module.kinds.keys() if x[0] == 'a'),
> + 'has_map': any(x for x in self.module.kinds.keys() if x[0] == 'm'),
> + 'has_string': any(x for x in self.module.kinds.keys() if x[0] == 's'),
> 'structs_gen_header': [x for x in self.module.structs if x.attributes is None or 'skipHeader' not in x.attributes],
> 'structs_gen_serializer': [x for x in self.module.structs if x.attributes is None or 'skipSerdes' not in x.attributes],
> }
> --
> 2.49.0
>
More information about the libcamera-devel
mailing list