示例#1
0
def delete():
    projectname=request.form['projectname']
    print(projectname)
    try:
        user = request.cookies['userID']
        print(user)
    except:
        return False

    if is_env_running(user):
        print("env already running!")
        remove_env(user)
        sleep(2)

    print("sending delete resp back")
    resp = make_response(render_template('playArea.html'))
    resp.set_cookie('nocontainer', str("No container running now."))
    ## Update user info
    query = "update  user_creds.user_table SET container_id = '' , vnc_port = '' , ssh_port = '' , is_container_running = 0 where username = '******';"
    print(query)
    try:
      cursor.execute(query)
      database.commit()
    except:
      # Rollback in case there is any error
      database.rollback()
    return resp
示例#2
0
def run():
    projectname=request.form['projectname']
    print(projectname)
    print("reading cookies...."+str(request.cookies['userID']))
    try:
        user = request.cookies['userID']
        #writeFile(user, request.form['data'])
        print("file updated")
        print(user)
    except:
        return False

    try:
        pid = request.cookies['PID']
        print(pid)
    except:
        pid = None

    #if is_agent_running(pid): stop_agent(pid)
    
    if is_env_running(user):
        print("env already running!")
        #remove_env(user)
        if projectname == "R":
           writeFile(user, request.form['data'])
           execute_code(user,projectname)
        resp = make_response(render_template('playArea.html'))
        return resp
    else:
        vnc_port, info_channel ,ssh_port, container_id= create_env(user, projectname=projectname)
        print("env created.")
        sleep(2)
        print("sending resp back")
        resp = make_response(render_template('playArea.html'))
        resp.set_cookie('vnc_port', str(vnc_port))
        resp.set_cookie('ssh_port', str(ssh_port))
        resp.set_cookie('info_channel', str(info_channel))
        resp.set_cookie('PID', str(pid))

        query = "update  user_creds.user_table SET container_id = '"+str(container_id)+"' , vnc_port = '"+str(vnc_port)+"' , ssh_port = '"+str(ssh_port)+"' , is_container_running = 1 where username = '******';"
        print(query)
        try:
          cursor.execute(query)
          database.commit()
        except:
          # Rollback in case there is any error
          database.rollback()
        if projectname == "R":
           print(request.form['data'])
           writeFile(user, request.form['data'])
           execute_code(user,projectname)
        return resp
示例#3
0
def logout():
        """Logout Form"""
        session['logged_in'] = False
        user = request.cookies['userID']
        print(user)
        if is_env_running(user):
             print("env already running!")
             remove_env(user)
        query = "update  user_creds.user_table SET container_id = '' , vnc_port = '' , ssh_port = '' , is_container_running = 0 where username = '******';"
        print(query)
        try:
          cursor.execute(query)
          database.commit()
        except:
             # Rollback in case there is any error
             database.rollback()

        #writeFile(user, request.form['data'])
        return redirect(url_for('home'))
示例#4
0
def run():
    projectname=request.form['projectname']
    print(projectname)
    script_dir = os.path.dirname(os.path.realpath(__file__))
    print("reading cookies...."+str(request.cookies['userID']))
    try:
        user = request.cookies['userID']
        #writeFile(user, request.form['data'])
        print("file updated")
        print(user)
    except:
        return False

    try:
        pid = request.cookies['PID']
        print(pid)
    except:
        pid = None

    #if is_agent_running(pid): stop_agent(pid)

    if is_env_running(user):
        print("env already running!")
        #remove_env(user)
        if projectname == "R":
           #writeFile(user, request.form['data'])
           #execute_code(user,projectname)
           #DJ CODE
           ob = FileTree()
           content = ob.traverse(script_dir + '/user_agents/'+user+'/rdata/')
           socketio.emit('showscript_response', {'content': content},namespace='/script_exec')
        resp = make_response(render_template('playArea.html'))
        return resp
    else:
        vnc_port, info_channel ,ssh_port, container_id= create_env(user, projectname=projectname)
        print("env created.")
        sleep(2)
        print("sending resp back")
        resp = make_response(render_template('playArea.html'))
        resp.set_cookie('vnc_port', str(vnc_port))
        resp.set_cookie('ssh_port', str(ssh_port))
        resp.set_cookie('info_channel', str(info_channel))
        resp.set_cookie('PID', str(pid))

        query = "update  user_creds.user_table SET container_id = '"+str(container_id)+"' , vnc_port = '"+str(vnc_port)+"' , ssh_port = '"+str(ssh_port)+"' , is_container_running = 1 where username = '******';"
        print(query)
        try:
          cursor.execute(query)
          database.commit()
        except:
          # Rollback in case there is any error
          database.rollback()
        if projectname == "R":
           print(request.form['data'])
           # writeFile(user, request.form['data'])
           # execute_code(user,projectname)
           #DJ CODE
           ob = FileTree()
           content = ob.traverse(script_dir + '/user_agents/'+user+'/rdata/')
           socketio.emit('showscript_response', {'content': content},namespace='/script_exec')
        return resp