diff options
author | Joerg Steffens <joerg.steffens@dass-it.de> | 2015-09-18 15:37:28 +0300 |
---|---|---|
committer | Joerg Steffens <joerg.steffens@bareos.com> | 2015-09-18 17:13:00 +0300 |
commit | f3ee63324d38fff895c018b0e2e9f537a2f14f00 (patch) | |
tree | 09eba850fe67aa52e558fc3f67acc5a79ffde2a2 | |
parent | 4d37fa6511ee069d4ab03fdd80e34391351321f1 (diff) |
volume: show jobs
-rw-r--r-- | bareos/fuse/node/client.py | 2 | ||||
-rw-r--r-- | bareos/fuse/node/job.py | 2 | ||||
-rw-r--r-- | bareos/fuse/node/jobs.py | 9 | ||||
-rw-r--r-- | bareos/fuse/node/jobslist.py | 17 | ||||
-rw-r--r-- | bareos/fuse/node/jobsname.py | 17 | ||||
-rw-r--r-- | bareos/fuse/node/volume.py | 2 |
6 files changed, 45 insertions, 4 deletions
diff --git a/bareos/fuse/node/client.py b/bareos/fuse/node/client.py index 6122c1b..6ac5455 100644 --- a/bareos/fuse/node/client.py +++ b/bareos/fuse/node/client.py @@ -4,6 +4,7 @@ Bareos specific Fuse node. from bareos.fuse.node.backups import Backups from bareos.fuse.node.directory import Directory +from bareos.fuse.node.jobslist import JobsList class Client(Directory): def __init__(self, bsock, name): @@ -11,3 +12,4 @@ class Client(Directory): def do_update(self): self.add_subnode(Backups(self.bsock, "backups", client=self.get_name())) + self.add_subnode(JobsList(self.bsock, "jobs", "client=%s" % (self.get_name()))) diff --git a/bareos/fuse/node/job.py b/bareos/fuse/node/job.py index 76fa51b..22dc13e 100644 --- a/bareos/fuse/node/job.py +++ b/bareos/fuse/node/job.py @@ -28,7 +28,7 @@ class Job(Directory): def get_name(self): # TODO: adapt list backups to include name try: - name = "jobid={jobid}_client={clientname}_name={name}_level={level}_status={jobstatus}".format(**self.job) + name = "jobid={jobid}_client={client}_name={name}_level={level}_status={jobstatus}".format(**self.job) except KeyError: name = "jobid={jobid}_level={level}_status={jobstatus}".format(**self.job) return name diff --git a/bareos/fuse/node/jobs.py b/bareos/fuse/node/jobs.py index d611c0b..9c590bc 100644 --- a/bareos/fuse/node/jobs.py +++ b/bareos/fuse/node/jobs.py @@ -3,14 +3,17 @@ Bareos specific Fuse node. """ from bareos.fuse.node.directory import Directory -from bareos.fuse.node.job import Job +from bareos.fuse.node.jobslist import JobsList +from bareos.fuse.node.jobsname import JobsName class Jobs(Directory): def __init__(self, bsock, name): super(Jobs, self).__init__(bsock, name) + self.static = True def do_update(self): - data = self.bsock.call("llist jobs") + data = self.bsock.call(".jobs") jobs = data['jobs'] for i in jobs: - self.add_subnode(Job(self.bsock, i)) + self.add_subnode(JobsName(self.bsock, i['name'])) + self.add_subnode(JobsList(self.bsock, "all")) diff --git a/bareos/fuse/node/jobslist.py b/bareos/fuse/node/jobslist.py new file mode 100644 index 0000000..9ee44b9 --- /dev/null +++ b/bareos/fuse/node/jobslist.py @@ -0,0 +1,17 @@ +""" +Bareos specific Fuse node. +""" + +from bareos.fuse.node.directory import Directory +from bareos.fuse.node.job import Job + +class JobsList(Directory): + def __init__(self, bsock, name, selector = ''): + super(JobsList, self).__init__(bsock, name) + self.selector = selector + + def do_update(self): + data = self.bsock.call("llist jobs %s" % (self.selector)) + jobs = data['jobs'] + for i in jobs: + self.add_subnode(Job(self.bsock, i)) diff --git a/bareos/fuse/node/jobsname.py b/bareos/fuse/node/jobsname.py new file mode 100644 index 0000000..1f979eb --- /dev/null +++ b/bareos/fuse/node/jobsname.py @@ -0,0 +1,17 @@ +""" +Bareos specific Fuse node. +""" + +from bareos.fuse.node.directory import Directory +from bareos.fuse.node.job import Job + +class JobsName(Directory): + def __init__(self, bsock, name): + super(JobsName, self).__init__(bsock, "job="+str(name)) + self.jobname=name + + def do_update(self): + data = self.bsock.call("llist job=%s" % (self.jobname)) + jobs = data['jobs'] + for i in jobs: + self.add_subnode(Job(self.bsock, i)) diff --git a/bareos/fuse/node/volume.py b/bareos/fuse/node/volume.py index ef01959..a28231f 100644 --- a/bareos/fuse/node/volume.py +++ b/bareos/fuse/node/volume.py @@ -4,6 +4,7 @@ Bareos specific Fuse node. from bareos.fuse.node.file import File from bareos.fuse.node.directory import Directory +from bareos.fuse.node.jobslist import JobsList from pprint import pformat class Volume(Directory): @@ -13,3 +14,4 @@ class Volume(Directory): def do_update(self): self.add_subnode(File(self.bsock, name="info.txt", content = pformat(self.volume) + "\n")) + self.add_subnode(JobsList(self.bsock, name="jobs", selector = "volume=%s" % (self.name))) |