Beispiel #1
0
	def getGroupData(self):
		if cherrypy.session.get(SESSION_AUTH_KEY, None) is "true":
			interface = UserDataInterface()
			username = cherrypy.request.login
			simulationID = interface.getSimulationid(username) #pass in this format			
			siminfo = interface.getSimulationUserData(simulationID)
			simFolderId = interface.getSimulationFolder(simulationID, username)
			problem_id = self.problemsDAO.getProblemID(simulationID)
			problem = self.problemsDAO.readProblem(problem_id)
			interface.ensureSimulationExists(simFolderId)
			sim_folder = str(simFolderId)
			userDetails = interface.getUserDetails(username)
			firstname = userDetails.get('firstname')
			lastname = userDetails.get('lastname')
			groupname = userDetails.get('groupname')
			
			# In COLAB mode, rest of the junctions are returned in addition to the
			# one that a group is associated with			
			assoc_junctions = interface.getJunctionsofOtherGroups(simulationID, username)
			logging.info('Returning login data for user: '******'response' : {'status': "success", 'siminfo' : siminfo, 'sim_id' : str(simulationID),
				'sim_folder' : sim_folder, 'username': cherrypy.request.login, 'firstname':firstname,
				'lastname':lastname, 'groupname':groupname, 'assoc_junctions':assoc_junctions,
				'problem_id' : problem_id, 'problem_type' : problem['type']}}
			logging.info(response_data)
			return response_data
		else:
			return {'response' :  {'status':"failure"}}
Beispiel #2
0
	def setMode(self, user_mode=None):
		if cherrypy.session.get(SESSION_AUTH_KEY, None) is "true":
			username = cherrypy.request.login
			interface = UserDataInterface()
			simulationID = interface.getSimulationid(username)
			logging.info('simulationID: ' + str(simulationID) + ' , username: '******', usermode: ' + user_mode)
			interface.setUserMode(username, user_mode);
			cloudInterface = CloudInterface();			
			simFolderId = interface.getSimulationFolder(simulationID, username)
			interface.ensureSimulationExists(simFolderId)
			return {'response' : {'status': "success", 'sim_folder' : str(simFolderId),
				 'sim_id' : str(simulationID)}}
		else:
			return {'response' :  "failure"}
Beispiel #3
0
	def getQueueResult(self, sim_id, loop_id):
		interface = UserDataInterface()			
		currentSimulationID = interface.getSimulationid(cherrypy.request.login)
		if str(currentSimulationID) == sim_id:
			# just a hack for now
			sim_id = ObjectId(interface.getSimulationFolder(ObjectId(sim_id), (cherrypy.request.login)))
		sim_exec_id = interface.getActiveSimulationExecId(sim_id)
		if(sim_exec_id is None):
			return {'response' :  {'status':"nosimexec"}}	
		simInterface = SimulationExecutionInterface(sim_exec_id, sim_id)
		execResult = simInterface.getSimulationExecutionDetails()
		if execResult.get('simendtime') is not None:
			result = simInterface.getQueueResult(loop_id)
			return {'response' : {'status': "success", 'resultdata' : result}}
		else:
			return {'response' :  {'status':"notloaded"}}			
Beispiel #4
0
 def getQueueResult(self, sim_id, loop_id):
     interface = UserDataInterface()
     currentSimulationID = interface.getSimulationid(cherrypy.request.login)
     if str(currentSimulationID) == sim_id:
         # just a hack for now
         sim_id = ObjectId(
             interface.getSimulationFolder(ObjectId(sim_id),
                                           (cherrypy.request.login)))
     sim_exec_id = interface.getActiveSimulationExecId(sim_id)
     if (sim_exec_id is None):
         return {'response': {'status': "nosimexec"}}
     simInterface = SimulationExecutionInterface(sim_exec_id, sim_id)
     execResult = simInterface.getSimulationExecutionDetails()
     if execResult.get('simendtime') is not None:
         result = simInterface.getQueueResult(loop_id)
         return {'response': {'status': "success", 'resultdata': result}}
     else:
         return {'response': {'status': "notloaded"}}
Beispiel #5
0
    def getGroupData(self):
        if cherrypy.session.get(SESSION_AUTH_KEY, None) is "true":
            interface = UserDataInterface()
            username = cherrypy.request.login
            simulationID = interface.getSimulationid(
                username)  #pass in this format
            siminfo = interface.getSimulationUserData(simulationID)
            simFolderId = interface.getSimulationFolder(simulationID, username)
            problem_id = self.problemsDAO.getProblemID(simulationID)
            problem = self.problemsDAO.readProblem(problem_id)
            interface.ensureSimulationExists(simFolderId)
            sim_folder = str(simFolderId)
            userDetails = interface.getUserDetails(username)
            firstname = userDetails.get('firstname')
            lastname = userDetails.get('lastname')
            groupname = userDetails.get('groupname')

            # In COLAB mode, rest of the junctions are returned in addition to the
            # one that a group is associated with
            assoc_junctions = interface.getJunctionsofOtherGroups(
                simulationID, username)
            logging.info('Returning login data for user: '******'response': {
                    'status': "success",
                    'siminfo': siminfo,
                    'sim_id': str(simulationID),
                    'sim_folder': sim_folder,
                    'username': cherrypy.request.login,
                    'firstname': firstname,
                    'lastname': lastname,
                    'groupname': groupname,
                    'assoc_junctions': assoc_junctions,
                    'problem_id': problem_id,
                    'problem_type': problem['type']
                }
            }
            logging.info(response_data)
            return response_data
        else:
            return {'response': {'status': "failure"}}
Beispiel #6
0
 def setMode(self, user_mode=None):
     if cherrypy.session.get(SESSION_AUTH_KEY, None) is "true":
         username = cherrypy.request.login
         interface = UserDataInterface()
         simulationID = interface.getSimulationid(username)
         logging.info('simulationID: ' + str(simulationID) +
                      ' , username: '******', usermode: ' +
                      user_mode)
         interface.setUserMode(username, user_mode)
         cloudInterface = CloudInterface()
         simFolderId = interface.getSimulationFolder(simulationID, username)
         interface.ensureSimulationExists(simFolderId)
         return {
             'response': {
                 'status': "success",
                 'sim_folder': str(simFolderId),
                 'sim_id': str(simulationID)
             }
         }
     else:
         return {'response': "failure"}