From 8c583d29bc943d84345d0078cb31d2b6fbaa53f4 Mon Sep 17 00:00:00 2001 From: duplo Date: Wed, 21 Jan 2009 14:58:23 +0000 Subject: [PATCH] Add a function that strip the wizard informations from the comment, and return the comment and a dict with the wizard informations git-svn-id: https://src.develer.com/svnoss/bertos/trunk@2195 38d2e660-2303-0410-9eaa-f027e97ec537 --- wizard/BWizard.py | 2 ++ wizard/bertos_utils.py | 17 ++++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/wizard/BWizard.py b/wizard/BWizard.py index 851021ce..9a035b96 100644 --- a/wizard/BWizard.py +++ b/wizard/BWizard.py @@ -22,6 +22,8 @@ class BWizard(QWizard): def __init__(self): QWizard.__init__(self) + # TODO: choose the right minimum size + self.setMinimumSize(1000, 500) self.setWindowTitle(self.tr("Create a BeRTOS project")) self._addPages() self._connectSignals() 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 -- 2.25.1