Example #1
0
 def scanJoin(self, root, modulesToApply=None):
     modMap = {}
     modCount = 0
     jobs = []
     while not self.empty():
         task = self.get()
         if modulesToApply != None:
             if not task[1][0] in modulesToApply:
                 self.task_done()
                 continue
         try:
             modMap[task[1][0]] += 1
         except KeyError:
             modMap[task[1][0]] = 1
         job2 = (self.task_done_scan, (
             root,
             task[1][0],
         ))
         job = (task, job2)
         jobs.append(job)
         modCount += 1
     if modCount:
         self.displayItem(root, modCount, modMap)
     for job in jobs:
         sched.enqueue(job)
     self.join()
     self.refresh()
Example #2
0
    def add(self, cmd, args, exec_flags, enqueued = False):
      mod = self.loader.modules[cmd] 
      proc = None
      if "single" in mod.flags:
         proc = self.processusManager.singleCreate(mod, None, exec_flags)
      else:
	proc = self.processusManager.create(mod, None, exec_flags)
      if not "thread" in exec_flags:
        try :
          if "gui" in proc.mod.flags and not "console" in proc.mod.flags:
            print "This script is gui only"
	    self.processusManager.remove(proc)
	    proc.event.set()
	    return proc
        except AttributeError:
	    pass
      if not isinstance(args, Config):
        try:
          args = mod.conf.generate(args)
        except:
          pass
      if enqueued:
	 proc.launch(args)
      else:
	 sched.enqueue(((proc.launch, args),) )
      return proc
Example #3
0
 def scanJoin(self, root):
     total = self.qsize()
     self.displayItem(root, total)
     self.total = total
     while not self.empty():
         task = self.get()
         job2 = (self.task_done_scan, (root, ))
         jobs = (task, job2)
         sched.enqueue(jobs)
     self.join()
     self.refresh()
Example #4
0
 def scanJoin(self, root):
    total = self.qsize()
    self.displayItem(root, total)
    self.total = total
    while not self.empty():
       task =  self.get()
       job2 = (self.task_done_scan, (root,))
       jobs = (task, job2)
       sched.enqueue(jobs)
    self.join() 
    self.refresh()
Example #5
0
   def scanJoin(self, root, modulesToApply = None):
      modMap = {}
      modCount = 0
      jobs = []
      while not self.empty():
         task = self.get()
         moduleName = task[1][0]
	 if modulesToApply != None:
	   if not module in modulesToApply:
	 	self.task_done()
		continue

         module = self.loader.modules[moduleName]
         try:
           filterText = module.scanFilter
           if filterText != '':
             arguments = task[1][1]
             nodeArguments = module.conf.argumentsByType(typeId.Node)
             if len(nodeArguments) == 1:
               node = arguments[nodeArguments[0].name()].value() 
               filter = Filter('')
               filter.compile(str(filterText))
               filter.process(node)
               matches = filter.matchedNodes()
               if not len(matches):
                 self.task_done()
                 continue
         except : #filter can throw 
           pass

         try :
  	   modMap[task[1][0]] += 1
	 except KeyError:
	   modMap[task[1][0]] = 1

	 job2 = (self.task_done_scan, (root, task[1][0],))
	 job = (task, job2)
         jobs.append(job)
	 modCount += 1
      if modCount:
        self.displayItem(root, modCount, modMap)
      for job in jobs:
        sched.enqueue(job)
      self.join()
      self.refresh()
Example #6
0
    def add(self, cmd, args, exec_flags, enqueued = False):
      mod = self.loader.modules[cmd] 
      proc = None
      if "single" in mod.flags:
         proc = self.processusManager.singleCreate(mod, None, exec_flags)
      else:
	proc = self.processusManager.create(mod, None, exec_flags)
      if not "thread" in exec_flags:
        try :
          if "gui" in proc.mod.flags and not "console" in proc.mod.flags:
            print "This script is gui only"
	    self.processusManager.remove(proc)
	    proc.event.set()
	    return proc
        except AttributeError:
	    pass
      if enqueued:
	 proc.launch(args)
      else:
	 sched.enqueue(((proc.launch, args),) )
      return proc
Example #7
0
   def scanJoin(self, root, modulesToApply = None):
      modMap = {}
      modCount = 0
      jobs = []
      while not self.empty():
         task = self.get()
	 if modulesToApply != None:
	   if not task[1][0] in modulesToApply:
	 	self.task_done()
		continue	
         try :
  	   modMap[task[1][0]] += 1
	 except KeyError:
	   modMap[task[1][0]] = 1
	 job2 = (self.task_done_scan, (root, task[1][0],))
	 job = (task, job2)
         jobs.append(job)
	 modCount += 1
      if modCount:
        self.displayItem(root, modCount, modMap)
      for job in jobs:
        sched.enqueue(job)
      self.join()
      self.refresh()