Skip to content
Snippets Groups Projects
Commit 9c486013 authored by Paul McCarthy's avatar Paul McCarthy :mountain_bicyclist:
Browse files

Merge branch 'bf/settings' into 'master'

Bf/settings

See merge request fsl/fslpy!70
parents 3680daa9 70ab16d9
No related branches found
No related tags found
No related merge requests found
...@@ -128,8 +128,9 @@ def delete(*args, **kwargs): ...@@ -128,8 +128,9 @@ def delete(*args, **kwargs):
pass pass
def readFile(*args, **kwargs): def readFile(*args, **kwargs):
pass pass
@contextlib.contextmanager
def writeFile(*args, **kwargs): def writeFile(*args, **kwargs):
pass yield
def deleteFile(*args, **kwargs): def deleteFile(*args, **kwargs):
pass pass
def filePath(*args, **kwargs): def filePath(*args, **kwargs):
...@@ -420,7 +421,7 @@ class Settings(object): ...@@ -420,7 +421,7 @@ class Settings(object):
try: try:
with open(configFile, 'wb') as f: with open(configFile, 'wb') as f:
pickle.dump(config, f, protocol=2) pickle.dump(config, f, protocol=2)
except (FileNotFoundError, IOError, pickle.PicklingError, EOFError): except (IOError, pickle.PicklingError, EOFError):
log.warning('Unable to save {} configuration file ' log.warning('Unable to save {} configuration file '
'{}'.format(self.__configID, configFile), '{}'.format(self.__configID, configFile),
exc_info=True) exc_info=True)
...@@ -433,6 +433,15 @@ def test_writeConfigFile(): ...@@ -433,6 +433,15 @@ def test_writeConfigFile():
readback = pickle.load(f) readback = pickle.load(f)
assert testdata == readback assert testdata == readback
# should fail gracefuly
# if write is not possible
s = settings.Settings(cfgid='test', cfgdir=testdir, writeOnExit=False)
# testdir has been removed,
# but call should not crash
s.writeConfigFile()
def test_set(): def test_set():
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment