[ARVADOS] updated: c8cb8059605b3fa1f58dda40c5af3ad03a3c116e

Git user git at public.curoverse.com
Wed Jul 5 14:53:23 EDT 2017


Summary of changes:
 services/fuse/arvados_fuse/fusedir.py | 33 ++++++++++++++++++++++-----------
 1 file changed, 22 insertions(+), 11 deletions(-)

       via  c8cb8059605b3fa1f58dda40c5af3ad03a3c116e (commit)
      from  048821c9c8dc25c4c78c3247fd15430cbadd6190 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.


commit c8cb8059605b3fa1f58dda40c5af3ad03a3c116e
Author: Peter Amstutz <peter.amstutz at curoverse.com>
Date:   Wed Jul 5 14:51:26 2017 -0400

    8624: Move check that tag exists from __contains__ to __getitem__ method.
    
    Arvados-DCO-1.1-Signed-off-by: Peter Amstutz <peter.amstutz at curoverse.com>

diff --git a/services/fuse/arvados_fuse/fusedir.py b/services/fuse/arvados_fuse/fusedir.py
index 399992f..1399822 100644
--- a/services/fuse/arvados_fuse/fusedir.py
+++ b/services/fuse/arvados_fuse/fusedir.py
@@ -695,20 +695,31 @@ class TagsDirectory(Directory):
                        lambda a, i: a.tag == i['name'],
                        lambda i: TagDirectory(self.inode, self.inodes, self.api, self.num_retries, i['name'], poll=self._poll, poll_time=self._poll_time))
 
+    @use_counter
+    @check_update
+    def __getitem__(self, item):
+        if super(TagsDirectory, self).__contains__(item):
+            return super(TagsDirectory, self).__getitem__(item)
+        with llfuse.lock_released:
+            tags = self.api.links().list(
+                filters=[['link_class', '=', 'tag'], ['name', '=', item]], limit=1
+            ).execute(num_retries=self.num_retries)
+        if tags["items"]:
+            self._extra.add(item)
+            self.update()
+        return super(TagsDirectory, self).__getitem__(item)
+
+    @use_counter
+    @check_update
     def __contains__(self, k):
         if super(TagsDirectory, self).__contains__(k):
             return True
-        else:
-            with llfuse.lock_released:
-                tags = self.api.links().list(
-                    filters=[['link_class', '=', 'tag'], ['name', '=', k]], limit=1
-                ).execute(num_retries=self.num_retries)
-            if tags["items"]:
-                self._extra.add(k)
-                self.invalidate()
-                return True
-            else:
-                return False
+        try:
+            self[k]
+            return True
+        except KeyError:
+            pass
+        return False
 
 
 class TagDirectory(Directory):

-----------------------------------------------------------------------


hooks/post-receive
-- 




More information about the arvados-commits mailing list