Add labconfig.{save,load}_appconfig()
#48
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
These functions save a dict as an
.ini
file and load a dict from anini file, respectively. Strings are converted with
pprint.pformat
andast.literal_eval
, which round-trip for standard Python datatypes.These are the semantics presently used by apps (except BLACS) to save
their configs, but they use the
LabConfig
class to do so. Since #45removed auto-saving of labconfig and auto creation of sections upon
setting a value (essentially it made labconfig read-only) apps using
labconfig to save data now may fail (labscript-suite/lyse#64).
Apps may instead use
save_appconfig()
to save data. They may continueto use labconfig to load data as they are presently, but could be
simplified by using
load_appconfig()
instead.This change doesn't modify the format of app config files and so is
backward compatible with existing config files.