Example #1
0
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])
Example #2
0
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])
Example #3
0
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)