Esempio n. 1
0
    def process(self):
        """The process object contained by this application instance

           @raise InvalidProcess
           @return (instance of AppProcess)
        """
        if not hasattr(self, '_process'):
            #try to grab a live process, on exception grab a NullProcess
            try: self._process = IDroneModelAppProcess(self)
            except: self._process = IKittNullProcess(self) #should be a NullProcess
        elif IDroneModelAppProcess.providedBy(self._process) and not \
                AppProcess.isValid(self._process):
            self._process = IKittNullProcess(self)
        return self._process
Esempio n. 2
0
    def process(self):
        """The process object contained by this application instance

           @raise InvalidProcess
           @return (instance of AppProcess)
        """
        if not hasattr(self, '_process'):
            #try to grab a live process, on exception grab a NullProcess
            try:
                assert self.pid  #save the scan attempt
                self._process = IDroneModelAppProcess(self)
            except:
                self._process = IKittNullProcess(
                    self)  #should be a NullProcess
        elif IDroneModelAppProcess.providedBy(self._process) and not \
                AppProcess.isValid(self._process):
            self._process = IKittNullProcess(self)
        #keep the journal up to date
        self.info.update({
            'pid': self._process.pid,
            'inode': self._process.inode,
        })
        return self._process
Esempio n. 3
0
File: app.py Progetto: DroneD/droned
    def process(self):
        """The process object contained by this application instance

           @raise InvalidProcess
           @return (instance of AppProcess)
        """
        if not hasattr(self, '_process'):
            #try to grab a live process, on exception grab a NullProcess
            try: 
                 assert self.pid #save the scan attempt
                 self._process = IDroneModelAppProcess(self)
            except: self._process = IKittNullProcess(self) #should be a NullProcess
        elif IDroneModelAppProcess.providedBy(self._process) and not \
                AppProcess.isValid(self._process):
            self._process = IKittNullProcess(self)
        #keep the journal up to date
        self.info.update({
            'pid': self._process.pid,
            'inode': self._process.inode,
        })
        return self._process
Esempio n. 4
0
 def children(self):
     """allow us to track an AppInstance's child processes"""
     if IDroneModelAppProcess.providedBy(self.process):
         return self.process.children #generator
     return ( i for i in [] ) #empty generator
Esempio n. 5
0
 def children(self):
     """allow us to track an AppInstance's child processes"""
     if IDroneModelAppProcess.providedBy(self.process):
         return self.process.children  #generator
     return (i for i in [])  #empty generator