class UserPerspective(pb.Avatar): """Defines the perspective of a regular user to the daemon. """ def __init__(self, DSage): self.DSage = DSage self.clients = [] def attached(self, mind): self.clients.append(mind) print mind log.msg('[UserPerspective, attached] attached to ', mind) def detached(self, mind): self.clients.remove(mind) print mind log.msg('[UserPerspective, detached] detached ', mind) def perspective_getJob(self): return self.DSage.getJob() def perspective_getNextJobID(self): return self.DSage.getNextJobID() def perspective_getJobByID(self, id): log.msg('[Realm] Getting Job via ID: %s' % (id)) return self.DSage.getJobByID(id) def perspective_getJobResultByID(self, id): return self.DSage.getJobResultByID(id) def perspective_submitJob(self, job): return self.DSage.submitJob(job) def perspective_jobDone(self, jobID, result, is_list): return self.DSage.jobDone(jobID, result, is_list) def perspective_jobFailed(self, jobID, failure): return self.DSage.jobFailed(jobID, failure)