self.end = 100
self.__progress = 0
self.weightScale = 1
+ self.afterEvent = None
self.state_changed = CList()
def runNext(self):
if self.current_task == len(self.tasks):
if len(self.resident_tasks) == 0:
- cb = self.callback
- self.callback = None
self.status = self.FINISHED
self.state_changed()
- cb(self, None, [])
+ self.callback(self, None, [])
+ self.callback = None
else:
print "still waiting for %d resident task(s) %s to finish" % (len(self.resident_tasks), str(self.resident_tasks))
else:
def check(self, task):
import os
- self.realpath = task.cmd
- path = os.environ.get('PATH', '').split(os.pathsep)
- absolutes = filter(lambda file: os.access(file, os.X_OK), map(lambda directory, file = task.cmd: os.path.join(directory, file), path))
- if len(absolutes) > 0:
- self.realpath = task.cmd[0]
- return True
+ if task.cmd[0]=='/':
+ self.realpath = task.cmd
+ print "[Task.py][ToolExistsPrecondition] WARNING: usage of absolute paths for tasks should be avoided!"
+ return os.access(self.realpath, os.X_OK)
+ else:
+ self.realpath = task.cmd
+ path = os.environ.get('PATH', '').split(os.pathsep)
+ path.append(task.cwd + '/')
+ absolutes = filter(lambda file: os.access(file, os.X_OK), map(lambda directory, file = task.cmd: os.path.join(directory, file), path))
+ if len(absolutes) > 0:
+ self.realpath = task.cmd[0]
+ return True
return False
def getErrorMessage(self, task):