def admin(): # convert to dict user = dict([(name, toDict(y)) for name, y in PYLOAD.getAllUserData().iteritems()]) perms = permlist() for data in user.itervalues(): data["perms"] = {} get_permission(data["perms"], data["permission"]) data["perms"]["admin"] = True if data["role"] is 0 else False s = request.environ.get('beaker.session') if request.environ.get('REQUEST_METHOD', "GET") == "POST": for name in user: if request.POST.get("%s|admin" % name, False): user[name]["role"] = 0 user[name]["perms"]["admin"] = True elif name != s["name"]: user[name]["role"] = 1 user[name]["perms"]["admin"] = False # set all perms to false for perm in perms: user[name]["perms"][perm] = False for perm in request.POST.getall("%s|perms" % name): user[name]["perms"][perm] = True user[name]["permission"] = set_permission(user[name]["perms"]) PYLOAD.setUserPermission(name, user[name]["permission"], user[name]["role"]) return render_to_response("admin.html", {"users": user, "permlist": perms}, [pre_processor])
def prepare_dir(): with open("./config.yml") as fh: config = yaml.load(fh) # copy specfem stuff copy_files() # perturb cmt files generate_deriv_cmt = config["generate_deriv_cmt"] if generate_deriv_cmt: cmtdir = "cmtfile" dmoment_tensor = config["dmoment_tensor"] ddepth = config["ddepth"] dlatitude = config["dlatitude"] dlongitude = config["dlongitude"] perturb_cmt(cmtdir, dmoment_tensor, dlatitude, dlongitude, ddepth) # create job pbs files nevents_per_job = config["nevents_per_job"] walltime_per_simulation = config["walltime_per_simulation"] deriv_cmt_list = config["deriv_cmt_list"] create_job_pbs(nevents_per_job, walltime_per_simulation, deriv_cmt_list) njobs = len(glob.glob("job_solver_bundle.pbs.*")) if njobs < 1: raise ValueError("No job scripts") # clean up temp data archive if not os.path.exists("data"): os.makedirs("data") if len(glob.glob("data/*")) > 0: print("Data exists: ", glob.glob("data/*")) print("Data will be removed; Make sure there is nothing left") answer = get_permission() if answer: cleantree("data") else: sys.exit(0) print("*" * 30) print("Please check related files and then submit jobs") print("Use: ./submit.bash") print("*" * 30)
def prepare_dir(): with open("./config.yml") as fh: config = yaml.load(fh) # copy specfem stuff copy_files() # perturb cmt files generate_deriv_cmt = config["generate_deriv_cmt"] if generate_deriv_cmt: cmtdir = "cmtfile" dmoment_tensor = config["dmoment_tensor"] ddepth = config["ddepth"] dlatitude = config["dlatitude"] dlongitude = config["dlongitude"] perturb_cmt(cmtdir, dmoment_tensor, dlatitude, dlongitude, ddepth) # create job pbs files nevents_per_job = config["nevents_per_job"] walltime_per_simulation = config["walltime_per_simulation"] deriv_cmt_list = config["deriv_cmt_list"] create_job_pbs(nevents_per_job, walltime_per_simulation, deriv_cmt_list) njobs = len(glob.glob("job_solver_bundle.pbs.*")) if njobs < 1: raise ValueError("No job scripts") # clean up temp data archive if not os.path.exists("data"): os.makedirs("data") if len(glob.glob("data/*")) > 0: print("Data exists: ", glob.glob("data/*")) print("Data will be removed; Make sure there is nothing left") answer = get_permission() if answer: cleantree("data") else: sys.exit(0) print("*"*30) print("Please check related files and then submit jobs") print("Use: ./submit.bash") print("*"*30)