May-22-2017, 04:20 AM
import yaml import sys import traceback class YAMLConfigReader: def __init__(self, configFile): if configFile.strip() == "": self.configFile = "node-config.yaml" else: self.configFile = configFile with open(self.configFile, 'r') as stream: try: self.configSettings = yaml.load(stream) print(self.configSettings) except yaml.YAMLError as exc: print(exc) self.printException(sys.exc_info()) except: print("Unknown Exception caught") self.printException(sys.exc_info()) def getConfigSetting(self, *args): currentDict = self.configSettings for s in args: currentDict = currentDict[s] print(currentDict) return currentDict def setConfigSetting(self, *args, setting): currentDict = self.configSettings for s in args: currentDict = currentDict[s] print(currentDict) currentDict = setting def printException(self, exceptionInfo): print("ExceptionType:", exceptionInfo[0]) print("ExceptionValue:", exceptionInfo[1]) print("TraceBack:", traceback.print_tb(exceptionInfo[2])) testConfig = YAMLConfigReader("node-config.yaml") testConfig.getConfigSetting("version") testConfig.getConfigSetting("hostInfo", "nameShort") testConfig.getConfigSetting("oamGroup","nodes") testConfig.getConfigSetting("oamGroup", "dn", "node") testConfig.setConfigSetting("version", 2) testConfig.getConfigSetting("version")tried executing this code but an error is popping out.
Error:Traceback (most recent call last):
File "C:/Users/Downloads/Yaml-parser.py", line 48, in <module>
testConfig.setConfigSetting("version", 2)
TypeError: setConfigSetting() missing 1 required keyword-only argument: 'setting'
Can someone please help me with the error above in line 48.Thank you.