blob: c83ad8e85f95fe257c17aa56122717201b7b8538 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
"""
bareosfs root node (top level directory)
"""
import bareos.fuse.exceptions
from bareos.fuse.nodefactory import NodeFactory
from bareos.fuse.node.directory import Directory
from bareos.fuse.node import *
class Root(Directory):
"""
Define filesystem structure of root (/) directory.
"""
def __init__(self, bsock, restoreclient, restorepath):
self.bsock = bsock
self.restoreclient = restoreclient
if restoreclient:
data = self.bsock.call(".clients")
if not restoreclient in [item['name'] for item in data['clients']]:
raise bareos.fuse.RestoreClientUnknown(restoreclient)
self.restorepath = restorepath
super(Root, self).__init__(self, None)
self.factory = NodeFactory(self)
self.add_subnode(Jobs, "jobs")
self.add_subnode(VolumeList, "volumes")
self.add_subnode(Pools, "pools")
self.add_subnode(Clients, "clients")
self.add_subnode(Status, ".bareosfs-status.txt")
|