#!/usr/bin/env python3 # Convert "service pppoe-server interface ethX" # to: # "service pppoe-server interface ethX {}" import sys from vyos.configtree import ConfigTree if (len(sys.argv) < 1): print("Must specify file name!") sys.exit(1) file_name = sys.argv[1] with open(file_name, 'r') as f: config_file = f.read() ctree = ConfigTree(config_file) cbase = ['service', 'pppoe-server','interface'] if not ctree.exists(cbase): sys.exit(0) else: nics = ctree.return_values(cbase) # convert leafNode to a tagNode ctree.set(cbase) ctree.set_tag(cbase) for nic in nics: ctree.set(cbase + [nic]) try: open(file_name,'w').write(ctree.to_string()) except OSError as e: print("Failed to save the modified config: {}".format(e)) sys.exit(1)