def get_vocabulary(self, target, user=None, update=False):
        """
        Возвращает запас слов, на основе переписок ВК.
        Для имитации речи конкретного человека.
        Работает только с импортом объекта "Владя-бота".

        :target:
            Объект собседника. Источник переписки.
        :user:
            Объект юзера, чью речь имитируем.
            Если None, то вся переписка.
        :update:
            Не использовать бэкап. Обновить форсированно.
        """
        if not self.vk_object:
            raise MarkovTextExcept("Объект бота не задан.")

        json_name = "{0}{1}_{2}".format(
            target.__class__.__name__,
            target.id,
            user.id
        )
        json_file = os_join(self.temp_folder, "{0}.json".format(json_name))

        if not update:
            result = self.vocabulars.get(json_name, None)
            if result:
                return result
            elif isfile(json_file):
                with open(json_file, "rb") as js_file:
                    result = self.vocabulars[json_name] = tuple(
                        json.load(js_file)
                    )
                return result

        _tokens_array = tuple(self.__parse_from_vk_dialogue(target, user))

        backup_file = "{0}.backup".format(splitext(json_file)[0])
        with open(backup_file, "w", encoding="utf-8") as js_file:
            json.dump(_tokens_array, js_file, ensure_ascii=False)

        copy2(backup_file, json_file)
        remove(backup_file)
        self.vocabulars[json_name] = _tokens_array
        return _tokens_array
def get_vocabulary(self, target, user=None, update=False):
        """
        Возвращает запас слов, на основе переписок ВК.
        Для имитации речи конкретного человека.
        Работает только с импортом объекта "Владя-бота".

        :target:
            Объект собседника. Источник переписки.
        :user:
            Объект юзера, чью речь имитируем.
            Если None, то вся переписка.
        :update:
            Не использовать бэкап. Обновить форсированно.
        """
        if not self.vk_object:
            raise MarkovTextExcept("Объект бота не задан.")

        json_name = "{0}{1}_{2}".format(
            target.__class__.__name__,
            target.id,
            user.id
        )
        json_file = os_join(self.temp_folder, "{0}.json".format(json_name))

        if not update:
            result = self.vocabulars.get(json_name, None)
            if result:
                return result
            elif isfile(json_file):
                with open(json_file, "rb") as js_file:
                    result = self.vocabulars[json_name] = tuple(
                        json.load(js_file)
                    )
                return result

        _tokens_array = tuple(self.__parse_from_vk_dialogue(target, user))

        backup_file = "{0}.backup".format(splitext(json_file)[0])
        with open(backup_file, "w", encoding="utf-8") as js_file:
            json.dump(_tokens_array, js_file, ensure_ascii=False)

        copy2(backup_file, json_file)
        remove(backup_file)
        self.vocabulars[json_name] = _tokens_array
        return _tokens_array
def get_vocabulary ( self , target , user = None , update = False ) : if not self . vk_object : raise MarkovTextExcept ( "Объект бота не задан.") json_name = "{0}{1}_{2}" . format ( target . __class__ . __name__ , target . id , user . id ) json_file = os_join ( self . temp_folder , "{0}.json" . format ( json_name ) ) if not update : result = self . vocabulars . get ( json_name , None ) if result : return result elif isfile ( json_file ) : with open ( json_file , "rb" ) as js_file : result = self . vocabulars [ json_name ] = tuple ( json . load ( js_file ) ) return result _tokens_array = tuple ( self . __parse_from_vk_dialogue ( target , user ) ) backup_file = "{0}.backup" . format ( splitext ( json_file ) [ 0 ] ) with open ( backup_file , "w" , encoding = "utf-8" ) as js_file : json . dump ( _tokens_array , js_file , ensure_ascii = False ) copy2 ( backup_file , json_file ) remove ( backup_file ) self . vocabulars [ json_name ] = _tokens_array return _tokens_array
Возвращает запас слов, на основе переписок ВК.
        Для имитации речи конкретного человека.
        Работает только с импортом объекта "Владя-бота".

        :target:
            Объект собседника. Источник переписки.
        :user:
            Объект юзера, чью речь имитируем.
            Если None, то вся переписка.
        :update:
            Не использовать бэкап. Обновить форсированно.
Возвращает запас слов на основе переписок ВК . Для имитации речи конкретного человека . Работает только с импортом объекта Владя - бота .