def req_session_status(self, session_id): if self.role_instance.sessions.has_key(session_id): session = self.role_instance.sessions[session_id] else: session = Platform.Session(session_id, None, None, None, None) session.status = "unknown" return self.req_answer(self.session2xmlstatus(session))
def req_session_destroy(self, session_id): if self.role_instance.sessions.has_key(session_id): session = self.role_instance.sessions[session_id] if session.status not in [Platform.Session.SESSION_STATUS_WAIT_DESTROY, Platform.Session.SESSION_STATUS_DESTROYED, Platform.Session.SESSION_STATUS_ERROR]: # Switch the session status without warn the session manager session.switch_status(Platform.Session.SESSION_STATUS_WAIT_DESTROY) self.role_instance.spool_action("destroy", session.id) else: session = Platform.Session(session_id, None, None, None, None) session.status = Platform.Session.SESSION_STATUS_UNKNOWN return self.req_answer(self.session2xmlstatus(session))
if len(node.getAttribute(attribute)) == 0: raise Exception("Empty attribute "+attribute) except Exception, err: Logger.warn("Invalid xml input: "+str(err)) doc = Document() rootNode = doc.createElement('error') rootNode.setAttribute("id", "usage") doc.appendChild(rootNode) return self.req_answer(doc) user = Platform.User(session["login"], {"displayName": session["displayName"], "password": session["password"]}) if session["parameters"].has_key("locale"): user.infos["locale"] = session["parameters"]["locale"] session = Platform.Session(session["id"], session["mode"], user, session["parameters"], applications.values()) session.setDomain(environment) if external_apps_token is not None: session.setExternalAppsToken(external_apps_token) session.setApplicationToStart(application_to_start) session.init() if profileNode is not None or len(sharedfolderNodes)>0: profile = Platform.Profile(session) if profileNode is not None: folder = {} for attribute in ["server", "dir", "login", "password"]: folder[attribute] = profileNode.getAttribute(attribute) profile.setProfile(folder)