X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2Fbertos_utils.py;h=50758645a78459a7336cecd5622ecf04baf24c0e;hb=70736533af22afef6727cedb0f75504f98688cad;hp=fbf83818f9e31b7668809881bcdd1d0da4a6fcd5;hpb=99d33fad0667fe3c3d0661cd222df73e6fc568c3;p=bertos.git diff --git a/wizard/bertos_utils.py b/wizard/bertos_utils.py index fbf83818..50758645 100644 --- a/wizard/bertos_utils.py +++ b/wizard/bertos_utils.py @@ -114,6 +114,19 @@ def formatModuleNameValue(text): block = re.findall("\s*([^\s]+)\s*(.+?)\s*$", text, re.MULTILINE) return block[0] +def getDescriptionInformations(text): + """ + Take the doxygen comment and strip the wizard informations, returning the tuple + (comment, wizard_informations) + """ + index = text.find("$WIZARD") + if index != -1: + exec(text[index + 1:]) + informations = WIZARD + return text[:index].strip(), informations + else: + return text.strip(), {} + def loadModuleInfos(path): """ Return the module configurations found in the given path as a dict with the name as key @@ -124,9 +137,11 @@ def loadModuleInfos(path): for definition in findDefinitions(const.MODULE_CONFIGURATION, path): moduleName = definition[0].replace("cfg_", "").replace(".h", "") moduleInfos[moduleName] = {} - for description, define in getDefinitionBlocks(open(definition[1] + "/" + definition[0], "r").read()): + for comment, define in getDefinitionBlocks(open(definition[1] + "/" + definition[0], "r").read()): name, value = formatModuleNameValue(define) + description, informations = getDescriptionInformations(comment) moduleInfos[moduleName][name] = {} moduleInfos[moduleName][name]["value"] = value + moduleInfos[moduleName][name]["informations"] = informations moduleInfos[moduleName][name]["description"] = description return moduleInfos