From 30e1a9dbbe6d01a5eea07c2df3c22423f0e2eae8 Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Sun, 2 Oct 2016 07:26:50 -0400 Subject: [PATCH] utarfile: Add readinto() method. --- utarfile/utarfile.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/utarfile/utarfile.py b/utarfile/utarfile.py index 1644fcc8..719854f8 100644 --- a/utarfile/utarfile.py +++ b/utarfile/utarfile.py @@ -35,6 +35,15 @@ class FileSection: self.content_len -= sz return data + def readinto(self, buf): + if self.content_len == 0: + return 0 + if len(buf) > self.content_len: + buf = memoryview(buf)[:self.content_len] + sz = self.f.readinto(buf) + self.content_len -= sz + return sz + def skip(self): self.f.read(self.content_len + self.align)