From b88b72c49a4032809ad0550afdd29cdfde6e0539 Mon Sep 17 00:00:00 2001 From: Valentin Samir Date: Sun, 26 Oct 2014 02:34:39 +0200 Subject: [PATCH] [utils/ldapcertfs] Lien symbolique cert['info'] => xid=N --- utils/ldapcertfs.py | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/utils/ldapcertfs.py b/utils/ldapcertfs.py index 231e0457..930d1fb8 100755 --- a/utils/ldapcertfs.py +++ b/utils/ldapcertfs.py @@ -237,6 +237,17 @@ class LdapCertFS(fuse.Fuse): xpath = '%s/xid=%s' % (mpath, cert["xid"][0]) if not xpath in self._storage: self._storage[xpath]=Item(0755 | stat.S_IFDIR, self.uid, self.gid) + # Si info on met un lien symbolique info => xid=id + if cert['info']: + item = Item(0644 | stat.S_IFLNK, self.uid, self.gid) + item.data = 'xid=%s' % cert["xid"][0] + spath = '%s/%s' % (mpath, cert['info'][0]) + indice = 1 + while spath in self._storage and self._storage[spath].data != item.data: + spath = '%s/%s (%s)' % (mpath, cert['info'][0], indice) + indice += 1 + self._storage[spath] = item + self._add_to_parent_dir(spath) self._add_to_parent_dir(xpath) self._add_to_parent_dir(mpath)