# HG changeset patch # User etisserant # Date 1204035931 -3600 # Node ID 78a92a18f8d633d74728a882bd97c2133b1fda02 # Parent fa0eaeaa90120821bf6ccc4827c0d421915693b6 Fixed new project creation bug diff -r fa0eaeaa9012 -r 78a92a18f8d6 plugger.py --- a/plugger.py Tue Feb 26 15:04:12 2008 +0100 +++ b/plugger.py Tue Feb 26 15:25:31 2008 +0100 @@ -724,8 +724,7 @@ return "Project not created" # Create PLCOpen program - self.CreateNewProject(values.pop("projectName")) - self.SetProjectProperties(properties = values) + self.CreateNewProject(values) # Change XSD into class members self._AddParamsMembers() self.PluggedChilds = {} @@ -850,9 +849,9 @@ buildpath = self._getBuildPath() # ask PLCOpenEditor controller to write ST/IL/SFC code file result = self.GenerateProgram(self._getIECgeneratedcodepath()) - if not result: + if result is not None: # Failed ! - logger.write_error("Error : ST/IL/SFC code generator returned %d\n"%result) + logger.write_error("Error in ST/IL/SFC code generator :\n%s\n"%result) return False plc_file = open(self._getIECcodepath(), "w") if os.path.isfile(self._getIECrawcodepath()): @@ -875,10 +874,9 @@ logger.write_error("Error : IEC to C compiler returned %d\n"%status) return False # Now extract C files of stdout - C_files = result.splitlines() + C_files = [ fname for fname in result.splitlines() if fname[-2:]==".c" or fname[-2:]==".C" ] # remove those that are not to be compiled because included by others C_files.remove("POUS.c") - C_files.remove("LOCATED_VARIABLES.h") # transform those base names to full names with path C_files = map(lambda filename:os.path.join(buildpath, filename), C_files) logger.write("Extracting Located Variables...\n") @@ -1071,7 +1069,7 @@ def this_plc_finish_callback(*args): if self.runningPLC is not None: self.runningPLC = None - self._Stop(logger) + self.reset_finished() self.runningPLC = ProcessLogger( logger, command_start_plc,