plugger.py
changeset 108 280b458e42e5
parent 107 65fe90d49bf7
child 109 f27ca37b6e7a
equal deleted inserted replaced
107:65fe90d49bf7 108:280b458e42e5
     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")