[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ZdRUfZMRvjMlDqtX@nanopsycho>
Date: Tue, 20 Feb 2024 08:27:57 +0100
From: Jiri Pirko <jiri@...nulli.us>
To: Jakub Kicinski <kuba@...nel.org>
Cc: netdev@...r.kernel.org, pabeni@...hat.com, davem@...emloft.net,
edumazet@...gle.com, jacob.e.keller@...el.com,
swarupkotikalapudi@...il.com, donald.hunter@...il.com,
sdf@...gle.com, lorenzo@...nel.org, alessandromarcolini99@...il.com
Subject: Re: [patch net-next 03/13] tools: ynl: allow user to pass enum
string instead of scalar value
Mon, Feb 19, 2024 at 09:51:00PM CET, kuba@...nel.org wrote:
>On Mon, 19 Feb 2024 18:25:19 +0100 Jiri Pirko wrote:
>> + if enum.type == 'flags' or attr_spec.get('enum-as-flags', False):
>> + scalar = 0
>> + for single_value in value:
>> + scalar += enum.entries[single_value].user_value(as_flags = True)
>
>If the user mistakenly passes a single value for a flag, rather than
>a set, this is going to generate a hard to understand error.
>How about we check isinstance(, str) and handle that directly,
>whether a flag or not.
Yeah, I was thinking about that as well. But as the flag output is
always list, here we expect also always list. I can either do what you
suggest of Errout with some sane message in case of the variable is not
a list. I didn't find ynl to be particularly forgiving in case of input
and error messages, that is why I didn't bother here.
Powered by blists - more mailing lists