diff options
Diffstat (limited to 'appc-inbound/appc-design-services/model/scripts/python/yang2props.py')
-rwxr-xr-x | appc-inbound/appc-design-services/model/scripts/python/yang2props.py | 31 |
1 files changed, 14 insertions, 17 deletions
diff --git a/appc-inbound/appc-design-services/model/scripts/python/yang2props.py b/appc-inbound/appc-design-services/model/scripts/python/yang2props.py index 1cba3ff6d..dd948c99f 100755 --- a/appc-inbound/appc-design-services/model/scripts/python/yang2props.py +++ b/appc-inbound/appc-design-services/model/scripts/python/yang2props.py @@ -36,39 +36,37 @@ def to_enum(s): 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>' + 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) - + 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: + match = re.search(r'enum "(\S+)";', line) + if match: val = match.group(1) - enum = to_enum(val) - + 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) - - + if val != enum: + property = "yang." + leaf + "." + enum + "=" + val + if property not in li: + li.append(property) # Open output file -fo = open(sys.argv[2], "wb") +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)) @@ -76,5 +74,4 @@ fo.write("\n") # Close opend file fo.close() - |