aboutsummaryrefslogtreecommitdiffstats
path: root/fg21sim/configs/manager.py
diff options
context:
space:
mode:
Diffstat (limited to 'fg21sim/configs/manager.py')
-rw-r--r--fg21sim/configs/manager.py18
1 files changed, 7 insertions, 11 deletions
diff --git a/fg21sim/configs/manager.py b/fg21sim/configs/manager.py
index c93eb28..9f5f3b3 100644
--- a/fg21sim/configs/manager.py
+++ b/fg21sim/configs/manager.py
@@ -588,7 +588,7 @@ class ConfigManager:
data = _flatten_dict(data)
return data
- def save(self, outfile=None, clobber=False, backup=True):
+ def save(self, outfile=None, clobber=False):
"""
Save the configurations to file.
@@ -598,13 +598,9 @@ class ConfigManager:
The path to the output configuration file.
If not provided, then use ``self.userconfig``, however, set
``clobber=True`` may be required.
- NOTE:
- This must be an *absolute path*.
- Prefix ``~`` (tilde) is allowed and will be expanded.
+ NOTE: Must be an *absolute path*.
clobber : bool, optional
- Overwrite the output file if already exists.
- backup : bool, optional
- Backup the output file with suffix ``.old`` if already exists.
+ Whether to backup existing output file and overwrite it?
Raises
------
@@ -621,19 +617,19 @@ class ConfigManager:
outfile = self.userconfig
logger.warning("outfile not provided, " +
"use self.userconfig: {0}".format(outfile))
+
outfile = os.path.expanduser(outfile)
if not os.path.isabs(outfile):
raise ValueError("not an absolute path: {0}".format(outfile))
+
if os.path.exists(outfile):
if clobber:
- # Make a backup with suffix ``.old``
backfile = outfile + ".old"
shutil.copyfile(outfile, backfile)
logger.info("Backed up old configuration file as: " + backfile)
else:
raise OSError("outfile already exists: {0}".format(outfile))
- # Write out the configurations
- # NOTE: need open the output file in *binary* mode
- with open(outfile, "wb") as f:
+
+ with open(outfile, "wb") as f: # binary mode required
self._config.indent_type = " "
self._config.write(f)