class MetisAppIndicator_Process:
    def __init__(self, process_config_obj=None):
        self.menulabel = process_config_obj.name
        self.submenu = None
        self.pobj = Process(
            process_config_obj) if process_config_obj != None else None
        #self.startuplvl = 0
        #self.name = ""
        #if self.pobj!=None:
        #self.startuplvl = self.pobj.startuplvl
        #self.name = self.pobj.name

    def start(self):
        if self.pobj != None:
            self.pobj.start()

    def output(self):
        if self.pobj != None:
            self.logwin = LogWindow(self.pobj)
            self.logwin.resize(LOGWINDOW_W, LOGWINDOW_H)
            self.logwin.show()

    def terminate(self):
        if self.pobj != None:
            self.pobj.terminate()

    def kill(self):
        if self.pobj != None:
            self.pobj.kill()

    def is_running(self):
        if self.pobj == None:
            return False
        return self.pobj.running()
Exemplo n.º 2
0
class DeviceLaunchfile(Device):
    def __init__(self, name, path, packageName, launchfile):
        super(DeviceLaunchfile, self).__init__(name, path)
        self._launchFile = self._getLaunchFile(packageName, launchfile)
        self._process = None

    def launch(self):
        # Make sure launch file exists
        if self._launchFile and os.path.exists(self._launchFile):
            try:
                popen = subprocess.Popen([
                    'roslaunch', self._launchFile,
                    'NAMESPACE:=' + rospy.get_namespace(),
                    'DEVICE:=' + self._path
                ])
                self._process = Process(popen)
                return True
            except:
                pass

        return False

    def kill(self):
        if self._process:
            self._process.kill()

    @staticmethod
    def _getLaunchFile(packageName, launchfile):
        packageDir = None

        rospack = rospkg.RosPack()
        try:
            packageDir = rospack.get_path(packageName)
        except rospkg.ResourceNotFound:
            pass
        else:
            return os.path.join(packageDir, 'launch', launchfile)

        return None
Exemplo n.º 3
0
class DeviceLaunchfile(Device):
    def __init__(self, name, path , packageName, launchfile):
        super(DeviceLaunchfile, self).__init__(name, path)
        self._launchFile = self._getLaunchFile(packageName, launchfile)
        self._process = None

    def launch(self):
        # Make sure launch file exists
        if self._launchFile and os.path.exists(self._launchFile):
            try:
                popen = subprocess.Popen(['roslaunch',
                                           self._launchFile,
                                           'NAMESPACE:=' + rospy.get_namespace(),
                                           'DEVICE:=' + self._path])
                self._process = Process(popen)
                return True
            except:
                pass

        return False

    def kill(self):
        if self._process:
            self._process.kill()

    @staticmethod
    def _getLaunchFile(packageName, launchfile):
        packageDir = None

        rospack = rospkg.RosPack()
        try:
            packageDir = rospack.get_path(packageName)
        except rospkg.ResourceNotFound:
            pass
        else:
            return os.path.join(packageDir, 'launch', launchfile)

        return None