From 41dc866e339b2685c1cee8b00ca01ad74f4650e0 Mon Sep 17 00:00:00 2001 From: "A. Jesse Jiryu Davis" Date: Wed, 8 Oct 2014 12:27:21 -0400 Subject: [PATCH] PYTHON-749 Handle floating-point chunkSize in GridOut. --- gridfs/grid_file.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gridfs/grid_file.py b/gridfs/grid_file.py index e5df5e42b..05df58d43 100644 --- a/gridfs/grid_file.py +++ b/gridfs/grid_file.py @@ -443,17 +443,18 @@ class GridOut(object): """ received = len(self.__buffer) chunk_data = EMPTY + chunk_size = int(self.chunk_size) if received > 0: chunk_data = self.__buffer elif self.__position < int(self.length): - chunk_number = int((received + self.__position) / self.chunk_size) + chunk_number = int((received + self.__position) / chunk_size) chunk = self.__chunks.find_one({"files_id": self._id, "n": chunk_number}) if not chunk: raise CorruptGridFile("no chunk #%d" % chunk_number) - chunk_data = chunk["data"][self.__position % self.chunk_size:] + chunk_data = chunk["data"][self.__position % chunk_size:] self.__position += len(chunk_data) self.__buffer = EMPTY