def get_file()

in openvid/zipstream.py [0:0]


    def get_file(self, url: str, central_directory: bytes, offset: int):
        struct_format = "<4sHHHHHHIIIHHHHHII"
        struct_size = struct.calcsize(struct_format)
        buffer = central_directory[offset : offset + struct_size]
        if len(buffer) < struct_size:
            return None, offset + struct_size
        central_directory_file_header = CentralDirectoryFileHeader(*struct.unpack(struct_format, buffer))
        filename = central_directory[
            offset + struct_size : offset + struct_size + central_directory_file_header.file_name_length
        ].decode("utf-8")
        next_offset = (
            offset
            + struct_size
            + central_directory_file_header.file_name_length
            + central_directory_file_header.extra_field_length
            + central_directory_file_header.file_comment_length
        )
        if not filename:
            return None, next_offset
        is_zip64 = (central_directory_file_header.compressed_size == 2**32 - 1) or (
            central_directory_file_header.relative_offset == 2**32 - 1
        )
        if is_zip64:
            extra = central_directory[
                offset + struct_size + central_directory_file_header.file_name_length : next_offset
            ]
            central_directory_file_header.relative_offset = int.from_bytes(extra[-8:], byteorder="little")
        return (
            ZipStreamFile(
                url=url,
                filename=filename,
                file_offset=central_directory_file_header.relative_offset,
                file_size=central_directory_file_header.compressed_size,
            ),
            next_offset,
        )