X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2Fbertos_utils.py;h=e8033d7d8e564815a949781a5cc3a915c1a2e66b;hb=8c583d29bc943d84345d0078cb31d2b6fbaa53f4;hp=fbf83818f9e31b7668809881bcdd1d0da4a6fcd5;hpb=11404dd9a9b5358cc10e3042625b234ccfc929cf;p=bertos.git diff --git a/wizard/bertos_utils.py b/wizard/bertos_utils.py index fbf83818..e8033d7d 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) + """ + informations = {} + index = text.find("$WIZARD") + if index != -1: + exec(text[index + 1:]) + informations.update(WIZARD) + return text[:index].strip(), informations + + 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]["description"] = description + moduleInfos[moduleName][name]["informations"] = informations return moduleInfos