Ejemplo n.º 1
0
    def set_up(self):
        """
        Query sessions, if there exist any, prompt whether to join one

        :return: existing sessions
        """
        try:
            self.client.connect()

            # get service information
            response = self.client.get_services()
            for service in response.services:
                group_services = self.services.setdefault(service.group, set())
                group_services.add(service.name)

            # if there are no sessions, create a new session, else join a session
            response = self.client.get_sessions()
            logging.info("current sessions: %s", response)
            sessions = response.sessions
            if len(sessions) == 0:
                self.create_new_session()
            else:
                dialog = SessionsDialog(self.app, self.app)
                dialog.show()

            response = self.client.get_service_defaults(self.session_id)
            self.default_services = {
                x.node_type: set(x.services)
                for x in response.defaults
            }
        except grpc.RpcError as e:
            self.app.after(0, show_grpc_error, e)
            self.app.close()
Ejemplo n.º 2
0
    def setup(self):
        """
        Query sessions, if there exist any, prompt whether to join one
        """
        try:
            self.client.connect()
            # get service information
            response = self.client.get_services()
            for service in response.services:
                group_services = self.services.setdefault(service.group, set())
                group_services.add(service.name)

            # get config service informations
            response = self.client.get_config_services()
            for service in response.services:
                self.config_services[service.name] = service
                group_services = self.config_services_groups.setdefault(
                    service.group, set()
                )
                group_services.add(service.name)

            # if there are no sessions, create a new session, else join a session
            response = self.client.get_sessions()
            sessions = response.sessions
            if len(sessions) == 0:
                self.create_new_session()
            else:
                dialog = SessionsDialog(self.app, True)
                dialog.show()
        except grpc.RpcError as e:
            logging.exception("core setup error")
            dialog = ErrorDialog(self.app, "Setup Error", e.details())
            dialog.show()
            self.app.close()
Ejemplo n.º 3
0
 def setup(self, session_id: int = None) -> None:
     """
     Query sessions, if there exist any, prompt whether to join one
     """
     try:
         self.client.connect()
         # get all available services
         response = self.client.get_services()
         for service in response.services:
             group_services = self.services.setdefault(service.group, set())
             group_services.add(service.name)
         # get config service informations
         response = self.client.get_config_services()
         for service in response.services:
             self.config_services[service.name] = ConfigService.from_proto(
                 service)
             group_services = self.config_services_groups.setdefault(
                 service.group, set())
             group_services.add(service.name)
         # join provided session, create new session, or show dialog to select an
         # existing session
         response = self.client.get_sessions()
         sessions = response.sessions
         if session_id:
             session_ids = set(x.id for x in sessions)
             if session_id not in session_ids:
                 self.app.show_error(
                     "Join Session Error",
                     f"{session_id} does not exist",
                     blocking=True,
                 )
                 self.app.close()
             else:
                 self.join_session(session_id)
         else:
             if not sessions:
                 self.create_new_session()
             else:
                 dialog = SessionsDialog(self.app, True)
                 dialog.show()
     except grpc.RpcError as e:
         logging.exception("core setup error")
         self.app.show_grpc_exception("Setup Error", e, blocking=True)
         self.app.close()
Ejemplo n.º 4
0
 def setup(self, session_id: int = None) -> None:
     """
     Query sessions, if there exist any, prompt whether to join one
     """
     try:
         self.client.connect()
         # get current core configurations services/config services
         core_config = self.client.get_config()
         self.emane_models = sorted(core_config.emane_models)
         for service in core_config.services:
             group_services = self.services.setdefault(service.group, set())
             group_services.add(service.name)
         for service in core_config.config_services:
             self.config_services[service.name] = service
             group_services = self.config_services_groups.setdefault(
                 service.group, set())
             group_services.add(service.name)
         # join provided session, create new session, or show dialog to select an
         # existing session
         sessions = self.client.get_sessions()
         if session_id:
             session_ids = set(x.id for x in sessions)
             if session_id not in session_ids:
                 self.app.show_error(
                     "Join Session Error",
                     f"{session_id} does not exist",
                     blocking=True,
                 )
                 self.app.close()
             else:
                 self.join_session(session_id)
         else:
             if not sessions:
                 self.create_new_session()
             else:
                 dialog = SessionsDialog(self.app, True)
                 dialog.show()
     except grpc.RpcError as e:
         logger.exception("core setup error")
         self.app.show_grpc_exception("Setup Error", e, blocking=True)
         self.app.close()
Ejemplo n.º 5
0
    def setup(self):
        """
        Query sessions, if there exist any, prompt whether to join one
        """
        try:
            self.client.connect()
            # get service information
            response = self.client.get_services()
            for service in response.services:
                group_services = self.services.setdefault(service.group, set())
                group_services.add(service.name)

            # get config service informations
            response = self.client.get_config_services()
            for service in response.services:
                self.config_services[service.name] = service
                group_services = self.config_services_groups.setdefault(
                    service.group, set()
                )
                group_services.add(service.name)

            # if there are no sessions, create a new session, else join a session
            response = self.client.get_sessions()
            sessions = response.sessions
            if len(sessions) == 0:
                self.create_new_session()
            else:
                dialog = SessionsDialog(self.app, self.app, True)
                dialog.show()
            response = self.client.get_service_defaults(self.session_id)
            self.default_services = {
                x.node_type: set(x.services) for x in response.defaults
            }
        except grpc.RpcError as e:
            show_grpc_error(e, self.app, self.app)
            self.app.close()
Ejemplo n.º 6
0
 def session_change_sessions(self):
     logging.debug("Click change sessions")
     dialog = SessionsDialog(self.app, self.app)
     dialog.show()
Ejemplo n.º 7
0
 def click_sessions(self) -> None:
     logging.debug("Click change sessions")
     dialog = SessionsDialog(self.app)
     dialog.show()