Commit 195262a6 authored by Mickaël Desfrênes's avatar Mickaël Desfrênes
Browse files

better file streaming

parent 9edca43e
Loading
Loading
Loading
Loading
+13 −1
Original line number Diff line number Diff line
@@ -86,6 +86,18 @@ class RangedFileReader(object):

    block_size = 8192

    @staticmethod
    def _get_file_size(file_like) -> int:
        try:
            return os.fstat(file_like.fileno()).st_size
        except (AttributeError, OSError):
            pass
        current_pos = file_like.tell()
        file_like.seek(0, os.SEEK_END)
        size = file_like.tell()
        file_like.seek(current_pos, os.SEEK_SET)
        return size

    def __init__(self, file_like, start=0, stop=float("inf"), block_size=None):
        """
        Args:
@@ -96,7 +108,7 @@ class RangedFileReader(object):
            block_size (Optional[int]): The block_size to read with.
        """
        self.f = file_like
        self.size = len(self.f.read())
        self.size = self._get_file_size(self.f)
        self.block_size = block_size or RangedFileReader.block_size
        self.start = start
        self.stop = stop