X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2Fbertos_utils.py;h=363b08b5e182e5e1f5573aa04ce27336cfff9e8d;hb=83fc7933f968173822ed3f636d75860d4a747e76;hp=401713f61a4f010a21a68440357b7f2fd13f7f7f;hpb=4d4f5228c8564b83cb232b8c33b8c039acd31efc;p=bertos.git diff --git a/wizard/bertos_utils.py b/wizard/bertos_utils.py index 401713f6..363b08b5 100644 --- a/wizard/bertos_utils.py +++ b/wizard/bertos_utils.py @@ -82,11 +82,29 @@ def loadBertosProject(project_file): tag_dict[tag] = False project_info.setInfo("ALL_CPU_TAGS", tag_dict) loadModuleData(project_info, True) + setEnabledModules(project_info, project_data["ENABLED_MODULES"]) + return project_info + +def setEnabledModules(project_info, enabled_modules): modules = project_info.info("MODULES") + files = {} for module, information in modules.items(): - information["enabled"] = module in project_data["ENABLED_MODULES"] + information["enabled"] = module in enabled_modules + for dependency in information["depends"]: + if not dependency in modules: + if dependency in files: + files[dependency] += 1 + else: + files[dependency] = 1 project_info.setInfo("MODULES", modules) - return project_info + project_info.setInfo("FILES", files) + +def enabledModules(project_info): + enabled_modules = [] + for name, module in project_info.info("MODULES").items(): + if module["enabled"]: + enabled_modules.append(name) + return enabled_modules def mergeSources(srcdir, new_sources, old_sources): # The current mergeSources function provide only a raw copy of the sources in the @@ -95,7 +113,7 @@ def mergeSources(srcdir, new_sources, old_sources): # TODO: implement the three way merge algorithm # shutil.rmtree(srcdir, True) - copytree.copytree(sources_dir + "/bertos", srcdir, ignore_list=const.IGNORE_LIST) + copytree.copytree(os.path.join(new_sources, "bertos"), srcdir, ignore_list=const.IGNORE_LIST) def projectFileGenerator(project_info): directory = project_info.info("PROJECT_PATH") @@ -679,7 +697,8 @@ def loadConfigurationInfos(path): def updateConfigurationValues(def_conf, user_conf): for param in def_conf["paramlist"]: - def_conf[param[1]]["value"] = user_conf[param[1]]["value"] + if param[1] in user_conf and "value" in user_conf[param[1]]: + def_conf[param[1]]["value"] = user_conf[param[1]]["value"] return def_conf def findParameterType(parameter):