diff options
author | Dan Timoney <dtimoney@att.com> | 2020-04-28 14:58:11 -0400 |
---|---|---|
committer | Dan Timoney <dtimoney@att.com> | 2020-06-08 12:07:57 -0400 |
commit | 8917e02bd67601248b481664be08d87f28414aba (patch) | |
tree | 4344cf1ba8d5128bb031b414aa688c8a71067a36 /generic-resource-api/model/scripts/python/yang2props.py | |
parent | bdd9078cc1287c68817d0be392a8bb1e4172d00b (diff) |
Generate ODL compliant swagger models from yang
Updated generic-resource-api to generate swagger v2 models
from yang that comply with OpenDaylight RESTCONF structure
Change-Id: Ib74d3ff49b2f13ec9026a33b4a70ef506e12632b
Issue-ID: SDNC-409
Signed-off-by: Dan Timoney <dtimoney@att.com>
Diffstat (limited to 'generic-resource-api/model/scripts/python/yang2props.py')
-rwxr-xr-x | generic-resource-api/model/scripts/python/yang2props.py | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/generic-resource-api/model/scripts/python/yang2props.py b/generic-resource-api/model/scripts/python/yang2props.py deleted file mode 100755 index 3cd56e40..00000000 --- a/generic-resource-api/model/scripts/python/yang2props.py +++ /dev/null @@ -1,57 +0,0 @@ -#!/usr/bin/python - -import re -import sys - - -# Convert word from foo-bar to FooBar -# words begining with a digit will be converted to _digit -def to_enum(s): - if s[0].isdigit(): - s = "_" + s - else: - s = s[0].upper() + s[1:] - return re.sub(r'(?!^)-([a-zA-Z])', lambda m: m.group(1).upper(), s) - -leaf = "" -val = "" -li = [] - -if len(sys.argv) < 3: - print('yang2props.py <input yang> <output properties>') - sys.exit(2) - -with open(sys.argv[1], "r") as ins: - for line in ins: - # if we see a leaf save the name for later - if "leaf " in line: - match = re.search(r'leaf (\S+)', line) - if match: - leaf = match.group(1) - - # if we see enum convert the value to enum format and see if it changed - # if the value is different write a property entry - if "enum " in line: - match = re.search(r'enum "(\S+)";', line) - if match: - val = match.group(1) - enum = to_enum(val) - - # see if converting to enum changed the string - if val != enum: - property = "yang."+leaf+"."+enum+"="+val - if property not in li: - li.append( property) - - -# Open output file -fo = open(sys.argv[2], "w") -fo.write("# yang conversion properties \n") -fo.write("# used to convert Enum back to the original yang value \n") -fo.write("\n".join(li)) -fo.write("\n") - -# Close opend file -fo.close() - - |