コード例 #1
0
    def handle_gui(self, dict_):
        """
        Maneja información recibida desde la interfaz, y se comunica con el
        servidor en caso de ser necesario.

        Parámetros:
         - dict_: diccionario recibido desde frontend
        """
        new_dict = Backend.handle_gui_signal(dict_)
        command = dict_["command"]
        if command == "start":
            self.ventana_principal = VentanaPrincipal(**dict_)
            self.current_window = "principal"
            self.connect_signals()
        elif command == "logout":
            self.current_window = "inicio"
            del self.ventana_principal
            self.ventana_principal = None
        elif command == "enter":
            nombre_room = dict_["room"].nombre
            self.log(f"Solicitando entrar a {nombre_room}")
            new_dict["user"] = self.user
        elif command == "access_granted":
            nombre_room = dict_["room"].nombre
            self.log(f"Entrando a {nombre_room}...")
            self.ventana_chat = VentanaChat(user=self.user, **dict_)
            self.current_window = "chat"
            self.connect_signals()
        elif command == "access_denied":
            nombre_room = dict_["room"].nombre
            self.log(f"No se pudo entrar a {nombre_room}.")
        elif command == "enter_text":
            new_dict["user"] = self.user
            text = new_dict["text"]
            self.log(f"{self.user.username} escribe: {text}.")
        if new_dict["send"]:
            del new_dict["send"]
            self.send(new_dict)