30 lines
627 B
Python
Executable File
30 lines
627 B
Python
Executable File
from job import Job
|
|
|
|
class Job_List() :
|
|
def __init__(self) :
|
|
self.jobs = {}
|
|
|
|
def __getitem__(self, k) :
|
|
return self.jobs[k]
|
|
|
|
def __setitem__(self, k, v) :
|
|
self.jobs[k] = v
|
|
|
|
def __len__(self) :
|
|
return len(self.jobs)
|
|
|
|
def add(self, job) :
|
|
if isinstance(job, Job) :
|
|
self[job.id] = job
|
|
elif isinstance(job, Job_List) :
|
|
for j in job.jobs :
|
|
self.add(job[j])
|
|
else :
|
|
raise Exception("unexpected type added to Job_List")
|
|
|
|
def kill(self, id) :
|
|
if not id in self.jobs :
|
|
return
|
|
self[id].kill()
|
|
del(self.jobs[id])
|