Skip to content

Commit

Permalink
tools: ynl: avoid dict errors on older Python versions
Browse files Browse the repository at this point in the history
Python 3.9.0 or newer supports combining dicts() with |,
but older versions of Python are still used in the wild
(e.g. on CentOS 8, which goes EoL May 31, 2024).
With Python 3.6.8 we get:

  TypeError: unsupported operand type(s) for |: 'dict' and 'dict'

Use older syntax. Tested with non-legacy families only.

Fixes: f036d93 ("tools: ynl: Add fixed-header support to ynl")
Reviewed-by: Simon Horman <simon.horman@corigine.com>
Reviewed-by: Donald Hunter <donald.hunter@gmail.com>
Tested-by: Donald Hunter <donald.hunter@gmail.com>
Link: https://lore.kernel.org/r/20230524170712.2036128-1-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
  • Loading branch information
kuba-moo committed May 26, 2023
1 parent 31642e7 commit 081e8df
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions tools/net/ynl/lib/ynl.py
Original file line number Diff line number Diff line change
Expand Up @@ -591,8 +591,9 @@ def _op(self, method, vals, dump=False):
print('Unexpected message: ' + repr(gm))
continue

rsp.append(self._decode(gm.raw_attrs, op.attr_set.name)
| gm.fixed_header_attrs)
rsp_msg = self._decode(gm.raw_attrs, op.attr_set.name)
rsp_msg.update(gm.fixed_header_attrs)
rsp.append(rsp_msg)

if not rsp:
return None
Expand Down

0 comments on commit 081e8df

Please sign in to comment.