X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/c29fc69a571bc2e4a4e450a09d94adbb305633bd..90fc79852a995fd8e665cf48ae20c49a9bbc78eb:/sdk/python/arvados/stream.py?ds=sidebyside diff --git a/sdk/python/arvados/stream.py b/sdk/python/arvados/stream.py index fd844354dd..e13e1a6eff 100644 --- a/sdk/python/arvados/stream.py +++ b/sdk/python/arvados/stream.py @@ -1,7 +1,6 @@ import gflags import httplib import httplib2 -import logging import os import pprint import sys @@ -135,8 +134,11 @@ class StreamFileReader(object): return '' data = '' - for locator, blocksize, segmentoffset, segmentsize in locators_and_ranges(self.segments, self._filepos, size): - data += self._stream.readfrom(locator+segmentoffset, segmentsize) + available_chunks = locators_and_ranges(self.segments, self._filepos, size) + if available_chunks: + locator, blocksize, segmentoffset, segmentsize = available_chunks[0] + data = self._stream.readfrom(locator+segmentoffset, segmentsize) + self._filepos += len(data) return data @@ -205,10 +207,9 @@ class StreamReader(object): self._data_locators = [] self._files = collections.OrderedDict() - if keep != None: - self._keep = keep - else: - self._keep = Keep.global_client_object() + if keep is None: + keep = KeepClient() + self._keep = keep streamoffset = 0L