Skip to content

Commit 76fa447

Browse files
committed
Only define buffered.flush for writer/random
1 parent 60d917c commit 76fa447

1 file changed

Lines changed: 15 additions & 7 deletions

File tree

vm/src/stdlib/io.rs

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1384,13 +1384,6 @@ mod _io {
13841384
Ok(res)
13851385
}
13861386
#[pymethod]
1387-
fn flush(&self, vm: &VirtualMachine) -> PyResult<()> {
1388-
let mut data = self.lock(vm)?;
1389-
let raw = data.check_init(vm)?;
1390-
ensure_unclosed(raw, "flush of closed file", vm)?;
1391-
data.flush_rewind(vm)
1392-
}
1393-
#[pymethod]
13941387
fn detach(zelf: PyRef<Self>, vm: &VirtualMachine) -> PyResult {
13951388
call_method(vm, zelf.as_object(), "flush", ())?;
13961389
let mut data = zelf.lock(vm)?;
@@ -1626,6 +1619,13 @@ mod _io {
16261619

16271620
data.write(obj, vm)
16281621
}
1622+
#[pymethod]
1623+
fn flush(&self, vm: &VirtualMachine) -> PyResult<()> {
1624+
let mut data = self.writer().lock(vm)?;
1625+
let raw = data.check_init(vm)?;
1626+
ensure_unclosed(raw, "flush of closed file", vm)?;
1627+
data.flush_rewind(vm)
1628+
}
16291629
}
16301630

16311631
#[pyattr]
@@ -2949,6 +2949,14 @@ mod fileio {
29492949
}
29502950
}
29512951

2952+
#[pymethod]
2953+
fn flush(&self, vm: &VirtualMachine) -> PyResult<()> {
2954+
let mut handle = self.get_file(vm)?;
2955+
handle.flush().map_err(|e| e.into_pyexception(vm))?;
2956+
self.set_file(handle)?;
2957+
Ok(())
2958+
}
2959+
29522960
#[pymethod]
29532961
fn read(&self, read_byte: OptionalSize, vm: &VirtualMachine) -> PyResult<Vec<u8>> {
29542962
if !self.mode.load().contains(Mode::READABLE) {

0 commit comments

Comments
 (0)