Exemplo n.º 1
0
    def to_yaml(self, data, defaults=True):
        if defaults is True:
            data['denormal'] = "./config/denormal.txt"
            data['normal'] = "./config/normal.txt"
            data['gender'] = "./config/gender.txt"
            data['person'] = "./config/person.txt"
            data['person2'] = "./config/person2.txt"
            data['properties'] = "./config/properties.txt"
            data['variables'] = "./config/variables.txt"
            data['triples'] = "./config/triples.txt"
            data['preprocessors'] = "./config/preprocessors.txt"
            data['postprocessors'] = "./config/postprocessors.txt"
            data['regex_templates'] = "./config/regex.txt"
        else:
            data['denormal'] = self._denormal
            data['normal'] = self._normal
            data['gender'] = self._gender
            data['person'] = self._person
            data['person2'] = self._person2
            data['properties'] = self._properties
            data['variables'] = self._variables
            data['triples'] = self._triples
            data['preprocessors'] = self._preprocessors
            data['postprocessors'] = self._postprocessors
            data['regex_templates'] = self._regex_templates

        self.config_to_yaml(data, BrainAIMLFileConfiguration(), defaults)
        self.config_to_yaml(data, BrainFileConfiguration("sets"), defaults)
        self.config_to_yaml(data, BrainFileConfiguration("maps"), defaults)
        self.config_to_yaml(data, BrainFileConfiguration("rdf"), defaults)
Exemplo n.º 2
0
    def __init__(self):
        BaseSectionConfigurationData.__init__(self, "files")
        self._aiml_files = BrainAIMLFileConfiguration()
        self._set_files = BrainFileConfiguration("sets")
        self._map_files = BrainFileConfiguration("maps")
        self._rdf_files = BrainFileConfiguration("rdf")

        self._denormal = None
        self._normal = None
        self._gender = None
        self._person = None
        self._person2 = None
        self._properties = None
        self._variables = None
        self._triples = None
        self._preprocessors = None
        self._postprocessors = None
        self._regex_templates = None
Exemplo n.º 3
0
    def test_learnf_simple(self):
        template = ET.fromstring("""
			<template>
				<learnf>
				    <category>
				        <pattern>HELLO <eval>WORLD</eval> THERE</pattern>
				        <template>HIYA</template>
				    </category>
				</learnf>
			</template>
			""")

        self._client_context.brain.configuration._aiml_files = BrainFileConfiguration(
            os.sep + "tmp", ".aiml", False)

        ast = self._graph.parse_template_expression(template)
        self.assertIsNotNone(ast)
        self.assertIsInstance(ast, TemplateNode)
        self.assertIsNotNone(ast.children)
        self.assertEqual(len(ast.children), 1)

        learn_node = ast.children[0]
        self.assertIsNotNone(learn_node)
        self.assertIsInstance(learn_node, TemplateLearnfNode)
        self.assertEqual(1, len(learn_node.children))
        self.assertIsInstance(learn_node.children[0], LearnCategory)
        self.assertIsNotNone(learn_node.children[0].pattern)
        self.assertIsInstance(learn_node.children[0].pattern, ET.Element)
        self.assertIsNotNone(learn_node.children[0].topic)
        self.assertIsInstance(learn_node.children[0].topic, ET.Element)
        self.assertIsNotNone(learn_node.children[0].that)
        self.assertIsInstance(learn_node.children[0].that, ET.Element)
        self.assertIsNotNone(learn_node.children[0].template)
        self.assertIsInstance(learn_node.children[0].template, TemplateNode)

        learnf_path = TemplateLearnfNode.create_learnf_path(
            self._client_context)
        self.assertIsNotNone(learnf_path)
        if os.path.exists(learnf_path):
            os.remove(learnf_path)
        self.assertFalse(os.path.exists(learnf_path))

        resolved = learn_node.resolve(self._client_context)
        self.assertEqual(resolved, "")

        response = self._client_context.bot.ask_question(
            self._client_context, "HELLO WORLD THERE")
        self.assertEqual("HIYA", response)

        self.assertTrue(os.path.exists(learnf_path))
        os.remove(learnf_path)
Exemplo n.º 4
0
    def test_with_file_data(self):
        yaml = YamlConfigurationFile()
        self.assertIsNotNone(yaml)
        yaml.load_from_text(
            """
        brain:
            files:
                sets:
                    file: $BOT_ROOT/sets/test.txt
        """, ConsoleConfiguration(), ".")

        brain_config = yaml.get_section("brain")
        self.assertIsNotNone(brain_config)
        files_config = yaml.get_section("files", brain_config)
        self.assertIsNotNone(files_config)

        sets_config = BrainFileConfiguration("sets")
        sets_config.load_config_section(yaml, files_config, ".")

        self.assertEqual("./sets/test.txt", sets_config.file)
Exemplo n.º 5
0
    def test_with_files_data(self):
        yaml = YamlConfigurationFile()
        self.assertIsNotNone(yaml)
        yaml.load_from_text(
            """
        brain:
            files:
                sets:
                    files: $BOT_ROOT/sets
                    extension: .txt
                    directories: false
        """, ConsoleConfiguration(), ".")

        brain_config = yaml.get_section("brain")
        self.assertIsNotNone(brain_config)
        files_config = yaml.get_section("files", brain_config)
        self.assertIsNotNone(files_config)

        sets_config = BrainFileConfiguration("sets")
        sets_config.load_config_section(yaml, files_config, ".")

        self.assertEqual(["./sets"], sets_config.files)
        self.assertEqual(".txt", sets_config.extension)
        self.assertFalse(sets_config.directories)