X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=wizard%2FBProject.py;h=c3411ade1de69550feeabfbbdc85868048c3a376;hb=7bd424107eb3b53fb9f055f2d7409ea4f0991130;hp=59ffd492ebc9a3e41b6cd775503e48f47dafc7f7;hpb=0c218b3a5f1ef761db3f8a9139f6b4fa05d2cf9d;p=bertos.git diff --git a/wizard/BProject.py b/wizard/BProject.py index 59ffd492..c3411ade 100644 --- a/wizard/BProject.py +++ b/wizard/BProject.py @@ -270,6 +270,9 @@ class BProject(object): configuration_info[configuration] = updateConfigurationValues(configuration_info[configuration], loadConfigurationInfos(cfg_file_path)) except ParseError, err: raise DefineException.ConfigurationDefineException(cfg_file_path, err.line_number, err.line) + except IOError, err: + # The wizard can't find the file, use the default configuration + pass module_info_dict.update(module_dict) configuration_info_dict.update(configuration_info) if to_be_parsed: @@ -357,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() @@ -438,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()