Пример #1
0
    def _write_header(self, hdr, source):
        """Writes the header.

        hdr is the current header to be written and source is
        a file or file-like object which represents the file.

        """
        packed_hdr = pack(NewAsciiFormat.FORMAT, *hdr)
        self._fobj.write(packed_hdr)
        self._fobj.write(hdr.name + '\0')
        # write padding
        offset = NewAsciiFormat.LEN + hdr.namesize
        pad = NewAsciiFormat.calculate_padding(offset)
        if pad > 0:
            self._fobj.write('\0' * pad)
            self._bytes_written += pad
        for data in iter_read(source):
            self._fobj.write(data)
        # write padding
        pad = NewAsciiFormat.calculate_padding(hdr.filesize)
        if pad > 0:
            self._fobj.write('\0' * pad)
            self._bytes_written += pad
        self._bytes_written += NewAsciiFormat.LEN + hdr.namesize + hdr.filesize
Пример #2
0
    def _write_header(self, hdr, source):
        """Writes the header.

        hdr is the current header to be written and source is
        a file or file-like object which represents the file.

        """
        packed_hdr = pack(NewAsciiFormat.FORMAT, *hdr)
        self._fobj.write(packed_hdr)
        self._fobj.write(hdr.name + '\0')
        # write padding
        offset = NewAsciiFormat.LEN + hdr.namesize
        pad = NewAsciiFormat.calculate_padding(offset)
        if pad > 0:
            self._fobj.write('\0' * pad)
            self._bytes_written += pad
        for data in iter_read(source):
            self._fobj.write(data)
        # write padding
        pad = NewAsciiFormat.calculate_padding(hdr.filesize)
        if pad > 0:
            self._fobj.write('\0' * pad)
            self._bytes_written += pad
        self._bytes_written += NewAsciiFormat.LEN + hdr.namesize + hdr.filesize
Пример #3
0
 def __iter__(self, size=-1):
     """Iterates over the file"""
     return iter_read(self, bufsize=self.stream_bufsize, size=size)
Пример #4
0
 def __iter__(self, size=-1):
     """Iterates over the file"""
     return iter_read(self, bufsize=self.stream_bufsize, size=size)