Opened 8 years ago
Closed 7 years ago
#950 closed defect (fixed)
Most of the readers don't close files properly.
Reported by: | andyfaff | Owned by: | krzywon |
---|---|---|---|
Priority: | major | Milestone: | SasView 4.2.0 |
Component: | SasView | Keywords: | |
Cc: | Work Package: | SasView Bug Fixing |
Description
Whilst inspecting the file reading code in sas.sascalc.dataloader.readers I discovered that most of the file readers don't close the file once they've finished with them.
The files should be opened with a context manager:
with open(filename, 'r') as f:
# do stuff
A lot of this abstraction could occur in a superclass that all the Readers could inherit. The specific readers being given an open file handle, which the superclass would close. Alternatively it could be done with a decorator.
Relevant files are: abs_reader, anton_paar_saxs_reader, ascii_reader (uses close but it'd be easier with a context manager), cansas_reader, danse_reader, hfir1d_reader, tiff_reader.
Change History (2)
comment:1 Changed 8 years ago by krzywon
- Owner set to krzywon
- Status changed from new to accepted
comment:2 Changed 7 years ago by GitHub <noreply@…>
- Resolution set to fixed
- Status changed from accepted to closed
I'm already working on a refactor of the data loader system and had the same idea of abstracting the readers. I'll take this.