Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/bareos/python-bareos.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoerg Steffens <joerg.steffens@dass-it.de>2015-09-18 15:37:28 +0300
committerJoerg Steffens <joerg.steffens@bareos.com>2015-09-18 17:13:00 +0300
commitf3ee63324d38fff895c018b0e2e9f537a2f14f00 (patch)
tree09eba850fe67aa52e558fc3f67acc5a79ffde2a2
parent4d37fa6511ee069d4ab03fdd80e34391351321f1 (diff)
volume: show jobs
-rw-r--r--bareos/fuse/node/client.py2
-rw-r--r--bareos/fuse/node/job.py2
-rw-r--r--bareos/fuse/node/jobs.py9
-rw-r--r--bareos/fuse/node/jobslist.py17
-rw-r--r--bareos/fuse/node/jobsname.py17
-rw-r--r--bareos/fuse/node/volume.py2
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)))