Example #1
0
 def read(self, bytes=-1):
     if self.closed:
         return
     if self.bytes == self.size:
         # EOF already reached.
         return
     if bytes < 0:
         bytes = self.size - self.bytes
     elif self.bytes + bytes > self.size:
         # Limit read to remaining bytes
         bytes = self.size - self.bytes
     # Read requested bytes
     data = _libarchive.archive_read_data_into_str(self.archive._a, bytes)
     self.bytes += len(data)
     return data
Example #2
0
 def read(self, size):
     '''Read current archive entry contents into string.'''
     return _libarchive.archive_read_data_into_str(self._a, size)