def test_initialise(): # Assuming that initialise() # has not yet been called assert settings.read('nothing') is None assert settings.read('nothing', 'default') == 'default' settings.write('nothing', 'nothing') settings.delete('nothing') assert settings.readFile('nothing') is None settings.writeFile('nothing', 'nothing') settings.deleteFile('nothing') assert settings.filePath() is None assert settings.readAll() == {} assert settings.listFiles() == [] settings.clear() with tests.testdir() as testdir: settings.initialise(cfgid='test', cfgdir=testdir, writeOnExit=False) assert settings.settings.configID == 'test' assert settings.settings.configDir == testdir settings.write('setting', 'value') assert settings.read('setting') == 'value' assert settings.read('nothing') is None
def installPlugin(filename): """Copies the given Python file into the FSLeyes settings directory, within a sub-directory called ``plugins``. After the file has been copied, the path to the copy is passed to :func:`loadPlugin`. """ basename = op.splitext(op.basename(filename))[0] dest = 'plugins/{}.py'.format(basename) log.debug('Installing plugin %s', filename) with open(filename, 'rt') as inf, \ fslsettings.writeFile(dest) as outf: outf.write(inf.read()) dest = fslsettings.filePath(dest) try: loadPlugin(dest) except Exception: fslsettings.deleteFile(dest) raise