[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