Only define buffered.flush for writer/random

This commit is contained in:
Noah
2020-11-06 11:10:53 -06:00
parent 60d917c5e5
commit 76fa447915

View File

@@ -1384,13 +1384,6 @@ mod _io {
Ok(res)
}
#[pymethod]
fn flush(&self, vm: &VirtualMachine) -> PyResult<()> {
let mut data = self.lock(vm)?;
let raw = data.check_init(vm)?;
ensure_unclosed(raw, "flush of closed file", vm)?;
data.flush_rewind(vm)
}
#[pymethod]
fn detach(zelf: PyRef<Self>, vm: &VirtualMachine) -> PyResult {
call_method(vm, zelf.as_object(), "flush", ())?;
let mut data = zelf.lock(vm)?;
@@ -1626,6 +1619,13 @@ mod _io {
data.write(obj, vm)
}
#[pymethod]
fn flush(&self, vm: &VirtualMachine) -> PyResult<()> {
let mut data = self.writer().lock(vm)?;
let raw = data.check_init(vm)?;
ensure_unclosed(raw, "flush of closed file", vm)?;
data.flush_rewind(vm)
}
}
#[pyattr]
@@ -2949,6 +2949,14 @@ mod fileio {
}
}
#[pymethod]
fn flush(&self, vm: &VirtualMachine) -> PyResult<()> {
let mut handle = self.get_file(vm)?;
handle.flush().map_err(|e| e.into_pyexception(vm))?;
self.set_file(handle)?;
Ok(())
}
#[pymethod]
fn read(&self, read_byte: OptionalSize, vm: &VirtualMachine) -> PyResult<Vec<u8>> {
if !self.mode.load().contains(Mode::READABLE) {