def run(self):
     if len(self.apps) == 0:
         return
     print "%s " % self.text.message,
     for app in self.apps[:-1]:
         print "%s, " % app,
     print self.apps[-1]
     while not self.abort:
         process = GetProcessDict()
         for app in self.apps:
             if app in process.itervalues():
                 if not self.running[app]:
                     eg.TriggerEvent(self.text.launched + "." +
                                     splitext(app)[0],
                                     prefix=self.text.prefix)
                     self.running[app] = True
             else:
                 if self.running[app]:
                     eg.TriggerEvent(self.text.terminated + "." +
                                     splitext(app)[0],
                                     prefix=self.text.prefix)
                     self.running[app] = False
         if self.abort:
             break
         self.threadFlag.wait(self.period)
         self.threadFlag.clear()
示例#2
0
    def __start__(self, apps, period):

        self.apps = apps
        self.period = period
        if apps:
            process = GetProcessDict()
            self.running = dict([(app, app in process.itervalues()) for app in apps])
            print "%s " % self.text.message,
            for app in apps[:-1]:
                print "%s, " % app,
            print apps[-1]
            self.task = eg.scheduler.AddTask(period, self.AppObserver)
示例#3
0
 def AppObserver(self):
     self.task = 0
     process = GetProcessDict()
     for app in self.apps:
         if app in process.itervalues():
             if not self.running[app]:
                 eg.TriggerEvent(self.text.launched+"."+splitext(app)[0], prefix = self.text.prefix)
                 self.running[app] = True
         else:
             if self.running[app]:
                 eg.TriggerEvent(self.text.terminated+"."+splitext(app)[0], prefix = self.text.prefix)
                 self.running[app] = False
     if self.task is not None:
         self.task = eg.scheduler.AddTask(self.period, self.AppObserver)
示例#4
0
  def ThreadLoop(self, stopThreadEvent):
      oldProcesses = GetProcessDict()
      oldPids = set(oldProcesses.iterkeys())
 
      while True:
          newProcesses = GetProcessDict()
          newPids = set(newProcesses.iterkeys())
          for pid in newPids.difference(oldPids):
              name = splitext(newProcesses[pid])[0]
              eg.TriggerEvent("Created." + name, prefix="Process")
          for pid in oldPids.difference(newPids):
              name = splitext(oldProcesses[pid])[0]
              eg.TriggerEvent("Destroyed." + name, prefix="Process")
          oldProcesses = newProcesses
          oldPids = newPids
          sleep(0.1)
示例#5
0
    def ThreadLoop(self):
        while self.event.isSet():
            pass

        oldProcesses = GetProcessDict()
        oldPids = set(oldProcesses.iterkeys())

        while not self.event.isSet():
            newProcesses = GetProcessDict()
            newPids = set(newProcesses.iterkeys())
            for pid in newPids.difference(oldPids):
                name = splitext(newProcesses[pid])[0]
                eg.TriggerEvent("Created." + name, prefix="Process")
            for pid in oldPids.difference(newPids):
                name = splitext(oldProcesses[pid])[0]
                eg.TriggerEvent("Destroyed." + name, prefix="Process")
            oldProcesses = newProcesses
            oldPids = newPids
            self.event.wait(0.1)
        self.event.clear()
示例#6
0
 def ComActive(self):
     if u'iTunes.exe' in GetProcessDict().values():
         if not self.workerThread:
             self.TriggerEvent("Running")
             self.StartThread()
         return True
     elif self.workerThread:
         self.StopThread()
         self.TriggerEvent("NotRunning")
     eg.PrintNotice("iTunes is not running")
     return False
示例#7
0
    def ThreadLoop(self, stopThreadEvent):
        oldProcesses = GetProcessDict()
        oldPids = set(oldProcesses.iterkeys())

        while True:
            newProcesses = GetProcessDict()
            newPids = set(newProcesses.iterkeys())
            for pid in newPids.difference(oldPids):
                name = splitext(newProcesses[pid])[0]
                eg.TriggerEvent("Created." + name, prefix="Process")
            for pid in oldPids.difference(newPids):
                name = splitext(oldProcesses[pid])[0]
                eg.TriggerEvent("Destroyed." + name, prefix="Process")
            oldProcesses = newProcesses
            oldPids = newPids
            sleep(0.1)
示例#8
0
    def ThreadLoop(self):
        while self.event.isSet():
            pass

        oldProcesses = GetProcessDict()
        oldPids = set(oldProcesses.keys())

        while not self.event.isSet():
            newProcesses = GetProcessDict()
            newPids = set(newProcesses.keys())
            for pid in newPids.difference(oldPids):
                name = splitext(newProcesses[pid])[0]
                eg.TriggerEvent("Created." + name, prefix="Process")
            for pid in oldPids.difference(newPids):
                name = splitext(oldProcesses[pid])[0]
                eg.TriggerEvent("Destroyed." + name, prefix="Process")
            oldProcesses = newProcesses
            oldPids = newPids
            self.event.wait(0.1)
        self.event.clear()