def fetchExercise(projectDir):
    logger.info(projectDir + ":Loading project")

    # Get the project info
    projectInfo = read_project_json(projectDir)
    metadata = read_metadata_json(projectDir)

    # Figure out what to do based on the value of `show`
    show = request.args.get('show')

    showViz = False
    runPython = False

    if show == "viz":
        showViz = True
    if show == "py_viz":
        showViz = True
        runPython = True

    if runPython:
        projectInfo["ranCompute"] = True
        run_compute_py(projectDir)
    else:
        projectInfo["ranCompute"] = False


    navigation = construct_navigation()
    if showViz:
        projectInfo["showingViz"] = True
        return render_template(projectDir + '/web/index.html', project=projectInfo, navigation=navigation, metadata=metadata)
    else:
        # Project landing page
        projectInfo["showingViz"] = False
        return render_template('templates/projectLanding.html', project=projectInfo, navigation=navigation, metadata=metadata)
def home_createDir():
    logger.info("Processing index POST...")
    error = None
    success = None

    newDirName = request.form["dirName"]
    if os.path.isdir(newDirName):
        error = "Directory <b>" + newDirName + "</b> already exists!"
    else:
        create_new_dir(newDirName, request.form["projectName"],
                       request.form["projectType"])
        success = "New directory <b>" + newDirName + "</b> created!"

    navigation = construct_navigation()
    return render_template('static/templates/mainPage.html',
                           navigation=navigation,
                           error=error,
                           success=success)
def home():
    navigation = construct_navigation()
    return render_template('templates/mainPage.html', navigation=navigation)
def home():
    navigation = construct_navigation()
    return render_template('static/templates/base.html', navigation=navigation)