Copy all but directories when handling hw files using preset as starting point in...
authorduplo <duplo@38d2e660-2303-0410-9eaa-f027e97ec537>
Fri, 21 May 2010 09:54:48 +0000 (09:54 +0000)
committerduplo <duplo@38d2e660-2303-0410-9eaa-f027e97ec537>
Fri, 21 May 2010 09:54:48 +0000 (09:54 +0000)
(issue #149)

git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3774 38d2e660-2303-0410-9eaa-f027e97ec537

wizard/BProject.py

index 2bdbfe2e001284b8ff4e2dbe9d8f336b6cf86ba8..c3411ade1de69550feeabfbbdc85868048c3a376 100644 (file)
@@ -360,7 +360,7 @@ class BProject(object):
         self._writeCustomSrcFiles()
 
         # Copy the hw files
-        self._writeHwFiles(self.src_hwdir, self.hwdir)
+        self._writeAllPresetHwFiles(self.src_hwdir, self.hwdir)
 
         # Copyt the new *_user.mk file
         self._writeUserMkFileFromPreset()
@@ -441,6 +441,20 @@ class BProject(object):
                     # editing mode it copies only the files that don't exist yet
                     open(os.path.join(destination_dir,os.path.basename(hwfile)), "w").write(string)
 
+    def _writeAllPresetHwFiles(self, source_dir, destination_dir):
+        """
+        Copy all but directories contained into the preset hw directory.
+        It's needed because some presets need custom hw files not defined with
+        Wizard directives into modules...
+        """
+        source_dir = os.path.join(source_dir, "hw")
+        for f in os.listdir(source_dir):
+            abspath = os.path.join(source_dir, f)
+            if not os.path.isdir(abspath):
+                # Exlude directories from the copy!
+                hw_file = open(os.path.join(source_dir, f), 'r').read()
+                open(os.path.join(destination_dir, f), 'w').write(hw_file)
+
     def _writeCfgFiles(self, source_dir, destination_dir):
         for configuration, information in self.infos["CONFIGURATIONS"].items():
             string = open(source_dir + "/" + configuration, "r").read()