diff options
author | Paul Vinciguerra <pvinci@vinciconsulting.com> | 2019-08-06 19:58:24 -0400 |
---|---|---|
committer | Dave Wallace <dwallacelf@gmail.com> | 2019-08-19 14:38:12 +0000 |
commit | ff47fb64569ddbd65ef34c33e7cafc030c69a34e (patch) | |
tree | 5699f37e901ae2d32388509c8d291edc0e3748d2 /src/tools | |
parent | c458f5c09a21cc905aa1b53eda30736e52426418 (diff) |
vppapigen map: raise ValueError when fieldname is python keyword
When working on the lb api, one of the field names was chosen as 'as'
(application server). Since 'as' is a python keyword, the field was
renamed to _1 in vpp_papi.
This changeset instead fails early with a descriptive message,
hopefully saving others time troubleshooting the issue.
ValueError: Fieldname 'as' is a python keyword and
is not accessible via the python API.
Type: feature
Change-Id: Ib048d97de0e392645540092e356cf8989848c947
Signed-off-by: Paul Vinciguerra <pvinci@vinciconsulting.com>
Diffstat (limited to 'src/tools')
-rwxr-xr-x | src/tools/vppapigen/vppapigen.py | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/tools/vppapigen/vppapigen.py b/src/tools/vppapigen/vppapigen.py index 8ae991c9c95..52ffb6a18f1 100755 --- a/src/tools/vppapigen/vppapigen.py +++ b/src/tools/vppapigen/vppapigen.py @@ -5,6 +5,7 @@ import ply.lex as lex import ply.yacc as yacc import sys import argparse +import keyword import logging import binascii import os @@ -293,6 +294,9 @@ class Field(): def __init__(self, fieldtype, name, limit=None): self.type = 'Field' self.fieldtype = fieldtype + if name in keyword.kwlist: + raise ValueError("Fieldname {!r} is a python keyword and is not " + "accessible via the python API. ".format(name)) self.fieldname = name self.limit = limit |