X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/5c4cbf1ae8496930deb7e35c9880af05941cda75..5eacdd4d7ad270ac40448e1c5fdb29c9ae65e7fd:/services/fuse/arvados_fuse/fusefile.py diff --git a/services/fuse/arvados_fuse/fusefile.py b/services/fuse/arvados_fuse/fusefile.py index 5855361760..116b5462b6 100644 --- a/services/fuse/arvados_fuse/fusefile.py +++ b/services/fuse/arvados_fuse/fusefile.py @@ -2,19 +2,23 @@ # # SPDX-License-Identifier: AGPL-3.0 +from __future__ import absolute_import +from builtins import bytes import json import llfuse import logging import re import time -from fresh import FreshBase, convertTime +from .fresh import FreshBase, convertTime _logger = logging.getLogger('arvados.arvados_fuse') class File(FreshBase): """Base for file objects.""" + __slots__ = ("inode", "parent_inode", "_mtime") + def __init__(self, parent_inode, _mtime=0): super(File, self).__init__() self.inode = None @@ -46,6 +50,8 @@ class File(FreshBase): class FuseArvadosFile(File): """Wraps a ArvadosFile.""" + __slots__ = ('arvfile',) + def __init__(self, parent_inode, arvfile, _mtime): super(FuseArvadosFile, self).__init__(parent_inode, _mtime) self.arvfile = arvfile @@ -84,7 +90,7 @@ class StringFile(File): return len(self.contents) def readfrom(self, off, size, num_retries=0): - return self.contents[off:(off+size)] + return bytes(self.contents[off:(off+size)], encoding='utf-8') class ObjectFile(StringFile):