Merge branch '3663-collection-reader-performance'
[arvados.git] / sdk / python / arvados / stream.py
index 064a4f2e56a1f7cb16cad1f9506738865fb388cd..e13e1a6effec73125e170322d0ab0dcdcce91267 100644 (file)
@@ -134,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