diff --git a/Source/buildbindingpython.go b/Source/buildbindingpython.go index a96d4da2..31d36cf2 100644 --- a/Source/buildbindingpython.go +++ b/Source/buildbindingpython.go @@ -132,6 +132,56 @@ func buildDynamicPythonImplementation(componentdefinition ComponentDefinition, w w.Writeln(" if self._message:") w.Writeln(" return '%sException ' + str(self._code) + ': '+ str(self._message)", NameSpace) w.Writeln(" return '%sException ' + str(self._code)", NameSpace) + w.Writeln(" ") + w.Writeln(" def get_error_code(self):") + w.Writeln(" \"\"\"Returns the error code\"\"\"") + w.Writeln(" return self._code") + w.Writeln(" ") + w.Writeln(" def get_error_message(self):") + w.Writeln(" \"\"\"Returns the custom error message\"\"\"") + w.Writeln(" return self._message") + w.Writeln(" ") + w.Writeln(" def get_error_name(self):") + w.Writeln(" \"\"\"Returns the error name (constant name)\"\"\"") + w.Writeln(" if self._code == ErrorCodes.SUCCESS:") + w.Writeln(" return 'SUCCESS'") + for _, errorDef := range componentdefinition.Errors.Errors { + w.Writeln(" elif self._code == ErrorCodes.%s:", errorDef.Name) + w.Writeln(" return '%s'", errorDef.Name) + } + w.Writeln(" else:") + w.Writeln(" return 'UNKNOWN'") + w.Writeln(" ") + w.Writeln(" def get_error_description(self):") + w.Writeln(" \"\"\"Returns the error description (human-readable)\"\"\"") + w.Writeln(" if self._code == ErrorCodes.SUCCESS:") + w.Writeln(" return 'success'") + for _, errorDef := range componentdefinition.Errors.Errors { + w.Writeln(" elif self._code == ErrorCodes.%s:", errorDef.Name) + w.Writeln(" return '%s'", errorDef.Description) + } + w.Writeln(" else:") + w.Writeln(" return 'unknown error'") + w.Writeln(" ") + w.Writeln(" @property") + w.Writeln(" def error_code(self):") + w.Writeln(" \"\"\"Property to access error code\"\"\"") + w.Writeln(" return self._code") + w.Writeln(" ") + w.Writeln(" @property") + w.Writeln(" def error_message(self):") + w.Writeln(" \"\"\"Property to access custom error message\"\"\"") + w.Writeln(" return self._message") + w.Writeln(" ") + w.Writeln(" @property") + w.Writeln(" def error_name(self):") + w.Writeln(" \"\"\"Property to access error name\"\"\"") + w.Writeln(" return self.get_error_name()") + w.Writeln(" ") + w.Writeln(" @property") + w.Writeln(" def error_description(self):") + w.Writeln(" \"\"\"Property to access error description\"\"\"") + w.Writeln(" return self.get_error_description()") w.Writeln("")