Paste.
[bertos.git] / wizard / bertos_utils.py
index 2b7d6767e2a8235e9b58850f7ef74eb2878b6e23..363b08b5e182e5e1f5573aa04ce27336cfff9e8d 100644 (file)
@@ -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")