21020: Remove configuration path from Python READMEs
[arvados.git] / services / fuse / arvados_fuse / fresh.py
index 8b680f0663d25cf423e68251f1a82b8ed7384bc2..ff548f29ee9dfc19df5d84f7ec9d09895af0392b 100644 (file)
@@ -2,17 +2,17 @@
 #
 # SPDX-License-Identifier: AGPL-3.0
 
-import time
 import ciso8601
 import calendar
 import functools
+import time
 
 def convertTime(t):
     """Parse Arvados timestamp to unix time."""
     if not t:
         return 0
     try:
-        return calendar.timegm(ciso8601.parse_datetime_unaware(t).timetuple())
+        return calendar.timegm(ciso8601.parse_datetime_as_naive(t).timetuple())
     except (TypeError, ValueError):
         return 0
 
@@ -59,6 +59,10 @@ class FreshBase(object):
     * Clear the object contents (invalidates the object)
 
     """
+
+    __slots__ = ("_stale", "_poll", "_last_update", "_atime", "_poll_time", "use_count",
+                 "ref_count", "cache_size", "cache_uuid", "allow_attr_cache")
+
     def __init__(self):
         self._stale = True
         self._poll = False
@@ -67,7 +71,6 @@ class FreshBase(object):
         self._poll_time = 60
         self.use_count = 0
         self.ref_count = 0
-        self.dead = False
         self.cache_size = 0
         self.cache_uuid = None
 
@@ -120,17 +123,11 @@ class FreshBase(object):
         self.ref_count -= n
         return self.ref_count
 
-    def has_ref(self, only_children):
+    def has_ref(self):
         """Determine if there are any kernel references to this
-        object or its children.
-
-        If only_children is True, ignore refcount of self and only consider
-        children.
+        object.
         """
-        if only_children:
-            return False
-        else:
-            return self.ref_count > 0
+        return self.ref_count > 0
 
     def objsize(self):
         return 0