def save_file(file: io.BufferedWriter): """Save file without closing it Args: file (:obj:`io.BufferedWriter`): A file-like object """ file.flush() os.fsync(file.fileno()) file.seek(0)
def export_stream(model, **kwargs): stream = BufferedWriter() if not isinstance(model, Course): raise NotImplementedError( 'cannot export anything else than a course model ({} provided)'. format(model.__class__.__name_)) with zipfile.zipfile(stream) as zfile: zfile.write(export_meta(model), IMSCC_MANIFEST_FILENAME) file_output(model, zfile) qtis = course_xmlqti_builder(model) # we assume it is a course model discussions = course_xmlqti_builder(model) stream.seek(0) return stream