From 7b3a2c0a42c529eebb86dad138fb771254df67ec Mon Sep 17 00:00:00 2001 From: Paul Sokolovsky Date: Tue, 4 Oct 2016 00:13:53 +0300 Subject: [PATCH] upip: Update utarfile module, readinto() support. --- upip/upip_utarfile.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/upip/upip_utarfile.py b/upip/upip_utarfile.py index 1644fcc8..719854f8 100644 --- a/upip/upip_utarfile.py +++ b/upip/upip_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)