6 import plugins |
6 import plugins |
7 import types |
7 import types |
8 import shutil |
8 import shutil |
9 from xml.dom import minidom |
9 from xml.dom import minidom |
10 import wx |
10 import wx |
11 import subprocess, ctypes, time |
11 import subprocess, ctypes, time, shutil |
12 |
12 |
13 #Quick hack to be able to find Beremiz IEC tools. Should be config params. |
13 #Quick hack to be able to find Beremiz IEC tools. Should be config params. |
14 base_folder = os.path.split(sys.path[0])[0] |
14 base_folder = os.path.split(sys.path[0])[0] |
15 sys.path.append(os.path.join(base_folder, "plcopeneditor")) |
15 sys.path.append(os.path.join(base_folder, "plcopeneditor")) |
16 |
16 |
1019 self.PLCEditor._onclose = _onclose |
1019 self.PLCEditor._onclose = _onclose |
1020 self.PLCEditor._onsave = _onsave |
1020 self.PLCEditor._onsave = _onsave |
1021 self.PLCEditor.Show() |
1021 self.PLCEditor.Show() |
1022 |
1022 |
1023 def _Clean(self, logger): |
1023 def _Clean(self, logger): |
1024 logger.write_error("Not impl\n") |
1024 if os.path.isdir(os.path.join(self._getBuildPath())): |
|
1025 logger.write("Cleaning the build directory\n") |
|
1026 shutil.rmtree(os.path.join(self._getBuildPath())) |
|
1027 else: |
|
1028 logger.write_error("Build directory already clean\n") |
1025 |
1029 |
1026 def _Run(self, logger): |
1030 def _Run(self, logger): |
1027 logger.write("\n") |
1031 logger.write("\n") |
1028 self.pid_plc = 0 |
1032 self.pid_plc = 0 |
1029 command_start_plc = os.path.join(self._getBuildPath(),self.GetProjectName() + exe_ext) |
1033 command_start_plc = os.path.join(self._getBuildPath(),self.GetProjectName() + exe_ext) |
1030 if os.path.isfile(command_start_plc): |
1034 if os.path.isfile(command_start_plc): |
1031 logger.write("Starting PLC\n") |
1035 logger.write("\nStarting PLC\n") |
1032 self.pid_plc = subprocess.Popen(command_start_plc).pid |
1036 self.pid_plc = subprocess.Popen(command_start_plc).pid |
1033 else: |
1037 else: |
1034 logger.write("%s doesn't exist\n" %command_start_plc) |
1038 logger.write_error("%s doesn't exist\n" %command_start_plc) |
1035 |
1039 |
1036 def _Stop(self, logger): |
1040 def _Stop(self, logger): |
1037 PROCESS_TERMINATE = 1 |
1041 PROCESS_TERMINATE = 1 |
1038 if self.pid_plc != 0: |
1042 if self.pid_plc != 0: |
1039 logger.write("Stopping PLC\n") |
1043 logger.write("Stopping PLC\n") |