3 RouteFS Example: HomeFS
5 If you work on a system where home directories are on network storage
6 (i.e. not in /home), mount HomeFS on /home. It's an automounter that
7 will automatically create symlinks from user -> their homedir whenever
8 /home/user is accessed in any way.
13 from routes import Mapper
15 class HomeFS(routefs.RouteFS):
16 controllers = ['getList', 'getUser']
17 def __init__(self, *args, **kwargs):
18 super(HomeFS, self).__init__(*args, **kwargs)
24 m.connect('', controller='getList')
25 m.connect(':action', controller='getUser')
28 def getUser(self, action, **kwargs):
30 if action not in self.cache:
31 self.cache[action] = pwd.getpwnam(action).pw_dir
32 return routefs.Symlink(self.cache[action])
36 def getList(self, **kwargs):
37 return self.cache.keys()
39 if __name__ == '__main__':