summaryrefslogtreecommitdiff
path: root/common.py
diff options
context:
space:
mode:
Diffstat (limited to 'common.py')
-rw-r--r--common.py9
1 files changed, 9 insertions, 0 deletions
diff --git a/common.py b/common.py
index bb8b7a4..552b10a 100644
--- a/common.py
+++ b/common.py
@@ -21,3 +21,12 @@ def decompress_stream(iterable, decompressor):
yield data
if hasattr(decompressor, "flush"):
yield decompressor.flush()
+
+def yield_chunks(filelike, chunksize=65536):
+ """Read the given file in chunks of the given size. Returns an itrable
+ of contents. If the file is binary, it yields bytes, otherwise str."""
+ while True:
+ data = filelike.read(chunksize)
+ if not data:
+ break
+ yield data