示例#1
0
    def get_conversation(self, client_context):
        '''
            Nếu user.id tồn tại trong conversations hiện thời thì load convo này ra
            Nếu không thì khởi tạo 1 convo mới dựa trên ClientContext hiện tại
                Không chỉ khởi tạo mà còn load convo này
        '''
        # TODO move this to Conversations base class
        if client_context.userid in self._conversations:
            YLogger.info(client_context,
                         "Retrieving conversation for client %s",
                         client_context.userid)
            return self._conversations[client_context.userid]

        else:
            YLogger.info(client_context,
                         "Creating new conversation for client %s",
                         client_context.userid)

            conversation = Conversation(client_context)

            if client_context.brain.properties is not None:
                conversation.load_initial_variables(
                    client_context.brain.variables)

            self._conversations[client_context.userid] = conversation

            self.load_conversation(client_context.userid)

            return conversation
示例#2
0
    def get_conversation(self, client_context):

        assert (client_context is not None)
        assert (client_context.userid  is not None)

        if client_context.userid in self._conversations:
            YLogger.info(client_context, "Retrieving conversation for client %s", client_context.userid)
            conversation = self._conversations[client_context.userid]

            # Load existing conversation from cache
            if self.configuration.multi_client:
                if self._conversation_storage is not None:
                    self._conversation_storage.load_conversation(client_context, conversation)

        else:
            YLogger.info(client_context, "Creating new conversation for client %s", client_context.userid)

            conversation = Conversation(client_context)

            if client_context.brain.default_variables is not None:
                conversation.load_initial_variables(client_context.brain.default_variables)

            self._conversations[client_context.userid] = conversation

            if self._conversation_storage is not None:
                self._conversation_storage.load_conversation(client_context, conversation)

            if self.configuration.restore_last_topic is True:
                pass

        return conversation
    def get_conversation(self, client_context):
        # TODO move this to Conversations base class
        if client_context.userid in self._conversations:
            YLogger.info(client_context, "Retrieving conversation for client %s", client_context.userid)
            return self._conversations[client_context.userid]

        else:
            YLogger.info(client_context, "Creating new conversation for client %s", client_context.userid)

            conversation = Conversation(client_context)

            if client_context.brain.properties is not None:
                conversation.load_initial_variables(client_context.brain.variables)

            self._conversations[client_context.userid] = conversation

            self.load_conversation(client_context.userid)

            return conversation
示例#4
0
    def get_conversation(self, clientid: str):
        # TODO move this to Conversations base class
        if clientid in self._conversations:
            if logging.getLogger().isEnabledFor(logging.INFO):
                logging.info("Retrieving conversation for client %s", clientid)
            return self._conversations[clientid]
        else:
            if logging.getLogger().isEnabledFor(logging.INFO):
                logging.info("Creating new conversation for client %s",
                             clientid)

            conversation = Conversation(clientid, self)

            if self.brain.properties is not None:
                conversation.load_initial_variables(self.brain.variables)

            self._conversations[clientid] = conversation

            self.load_conversation(clientid)

            return conversation