From 38694d366203458c3898abff6be8ec8ba640a4f1 Mon Sep 17 00:00:00 2001 From: Valentin Samir Date: Sun, 26 Oct 2014 01:29:50 +0200 Subject: [PATCH] =?UTF-8?q?[utils/ldapcertfs]=20Ne=20pas=20=C3=A9craser=20?= =?UTF-8?q?les=20fichiers=20d=C3=A9j=C3=A0=20g=C3=A9n=C3=A9r=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- utils/ldapcertfs.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/utils/ldapcertfs.py b/utils/ldapcertfs.py index cf95777a..e96d0780 100755 --- a/utils/ldapcertfs.py +++ b/utils/ldapcertfs.py @@ -192,7 +192,8 @@ class LdapCertFS(fuse.Fuse): self.uid = 0 self.gid = 0 mpath = "/%s" % machine['host'][0] - self._storage[mpath]=Item(0755 | stat.S_IFDIR, self.uid, self.gid) + if not mpath in self._storage: + self._storage[mpath]=Item(0755 | stat.S_IFDIR, self.uid, self.gid) self._add_to_parent_dir(mpath) def make_machine(self, hostname): @@ -201,8 +202,10 @@ class LdapCertFS(fuse.Fuse): self._storage[mpath]=Item(0755 | stat.S_IFDIR, self.uid, self.gid) for cert in machine.certificats(refresh=True): xpath = '%s/xid=%s' % (mpath, cert["xid"][0]) - self._storage[xpath]=Item(0755 | stat.S_IFDIR, self.uid, self.gid) + if not xpath in self._storage: + self._storage[xpath]=Item(0755 | stat.S_IFDIR, self.uid, self.gid) self._add_to_parent_dir(xpath) + self._add_to_parent_dir(mpath) def make_cert(self, xid): cert = self.search_cache(u"xid=%s" % xid)[0] @@ -210,6 +213,7 @@ class LdapCertFS(fuse.Fuse): self._storage[xpath]=Item(0755 | stat.S_IFDIR, self.uid, self.gid) for file, file_data in self.files.items(): self.make_file(xid, file) + self._add_to_parent_dir(xpath) def make_file(self, xid, file): cert = self.search_cache(u"xid=%s" % xid)[0] @@ -400,7 +404,8 @@ class LdapCertFS(fuse.Fuse): def _add_to_parent_dir(self, path): parent_path = os.path.dirname(path) filename = os.path.basename(path) - self._storage[parent_path].data.add(filename) + if parent_path in self._storage: + self._storage[parent_path].data.add(filename) def _remove_from_parent_dir(self, path): parent_path = os.path.dirname(path)