def setup(): par_default = default() par_current = iopar.read(_PAR_ID_STR, par_default) par = iopar.as_dict(par_default) for k in par.keys(): cpar = _get_current_par(k, par_current) if "PWD" not in k: par[k] = input("Param " + k + ", current value is [" + str(cpar) + "]:") or cpar cpar = _get_current_par("ALYX_PWD", par_current) prompt = "Enter the Alyx password for " + par[ "ALYX_LOGIN"] + '(leave empty to keep current):' par["ALYX_PWD"] = getpass(prompt) or cpar cpar = _get_current_par("HTTP_DATA_SERVER_PWD", par_current) prompt = "Enter the FlatIron HTTP password for " + par["HTTP_DATA_SERVER_LOGIN"] +\ '(leave empty to keep current): ' par["HTTP_DATA_SERVER_PWD"] = getpass(prompt) or cpar # default to home dir if empty dir somehow made it here if len(par['CACHE_DIR']) == 0: par['CACHE_DIR'] = str(Path.home() / "Downloads" / "FlatIron") par = iopar.from_dict(par) # create directory if needed if par.CACHE_DIR and not os.path.isdir(par.CACHE_DIR): os.mkdir(par.CACHE_DIR) iopar.write(_PAR_ID_STR, par) print('ONE Parameter file location: ' + iopar.getfile(_PAR_ID_STR))
def test_params(self): # first go to and from dictionary par_dict = self.par_dict par = params.from_dict(par_dict) self.assertEqual(params.as_dict(par), par_dict) # next go to and from dictionary via json par2 = params.read('toto') self.assertEqual(par, par2)
def setup_silent(): par_current = iopar.read(_PAR_ID_STR) par_default = default() if par_current is None: par = par_default else: par = iopar.as_dict(par_default) for k in par.keys(): cpar = _get_current_par(k, par_current) par[k] = cpar par = iopar.from_dict(par) if par.CACHE_DIR: Path(par.CACHE_DIR).mkdir(parents=True, exist_ok=True) iopar.write(_PAR_ID_STR, par)
def test__get_current_par(self): for k in iopar.as_dict(self.par_current): self.assertTrue( params._get_current_par(k, self.par_current) == self.par_default.as_dict()[k])