summaryrefslogtreecommitdiffstats
path: root/generic-resource-api/model/scripts
diff options
context:
space:
mode:
authorDan Timoney <dtimoney@att.com>2020-04-28 14:58:11 -0400
committerDan Timoney <dtimoney@att.com>2020-06-08 12:07:57 -0400
commit8917e02bd67601248b481664be08d87f28414aba (patch)
tree4344cf1ba8d5128bb031b414aa688c8a71067a36 /generic-resource-api/model/scripts
parentbdd9078cc1287c68817d0be392a8bb1e4172d00b (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')
-rwxr-xr-xgeneric-resource-api/model/scripts/python/yang2props.py57
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()
-
-