aboutsummaryrefslogtreecommitdiffstats
path: root/src/tools/vppapigen
diff options
context:
space:
mode:
authorPaul Vinciguerra <pvinci@vinciconsulting.com>2019-08-06 19:58:24 -0400
committerDave Wallace <dwallacelf@gmail.com>2019-08-19 14:38:12 +0000
commitff47fb64569ddbd65ef34c33e7cafc030c69a34e (patch)
tree5699f37e901ae2d32388509c8d291edc0e3748d2 /src/tools/vppapigen
parentc458f5c09a21cc905aa1b53eda30736e52426418 (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/vppapigen')
-rwxr-xr-xsrc/tools/vppapigen/vppapigen.py4
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