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)
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)
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)
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)
class BrainFilesConfiguration(BaseSectionConfigurationData): 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 @property def aiml_files(self): return self._aiml_files @property def set_files(self): return self._set_files @property def map_files(self): return self._map_files @property def denormal(self): return self._denormal @property def normal(self): return self._normal @property def gender(self): return self._gender @property def person(self): return self._person @property def person2(self): return self._person2 @property def properties(self): return self._properties @property def variables(self): return self._variables @property def rdf_files(self): return self._rdf_files @property def triples(self): return self._triples @property def preprocessors(self): return self._preprocessors @property def postprocessors(self): return self._postprocessors @property def regex_templates(self): return self._regex_templates def load_config_section(self, configuration_file, configuration, bot_root): files_config = configuration_file.get_section("files", configuration) if files_config is not None: self._aiml_files.load_config_section(configuration_file, files_config, bot_root) self._set_files.load_config_section(configuration_file, files_config, bot_root) self._map_files.load_config_section(configuration_file, files_config, bot_root) self._rdf_files.load_config_section(configuration_file, files_config, bot_root) self._denormal = self._get_file_option(configuration_file, "denormal", files_config, bot_root) self._normal = self._get_file_option(configuration_file, "normal", files_config, bot_root) self._gender = self._get_file_option(configuration_file, "gender", files_config, bot_root) self._person = self._get_file_option(configuration_file, "person", files_config, bot_root) self._person2 = self._get_file_option(configuration_file, "person2", files_config, bot_root) self._properties = self._get_file_option(configuration_file, "properties", files_config, bot_root) self._variables = self._get_file_option(configuration_file, "variables", files_config, bot_root) self._triples = self._get_file_option(configuration_file, "triples", files_config, bot_root) self._preprocessors = self._get_file_option( configuration_file, "preprocessors", files_config, bot_root) self._postprocessors = self._get_file_option( configuration_file, "postprocessors", files_config, bot_root) self._regex_templates = self._get_file_option( configuration_file, "regex_templates", files_config, bot_root) else: YLogger.error( self, "Config section [files] missing from Brain, default values not appropriate" )
class BrainFilesConfiguration(BaseSectionConfigurationData): 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 @property def aiml_files(self): return self._aiml_files @property def set_files(self): return self._set_files @property def map_files(self): return self._map_files @property def denormal(self): return self._denormal @property def normal(self): return self._normal @property def gender(self): return self._gender @property def person(self): return self._person @property def person2(self): return self._person2 @property def properties(self): return self._properties @property def variables(self): return self._variables @property def rdf_files(self): return self._rdf_files @property def triples(self): return self._triples @property def preprocessors(self): return self._preprocessors @property def postprocessors(self): return self._postprocessors @property def regex_templates(self): return self._regex_templates def load_config_section(self, configuration_file, configuration, bot_root): files_config = configuration_file.get_section("files", configuration) if files_config is not None: self._aiml_files.load_config_section(configuration_file, files_config, bot_root) self._set_files.load_config_section(configuration_file, files_config, bot_root) self._map_files.load_config_section(configuration_file, files_config, bot_root) self._rdf_files.load_config_section(configuration_file, files_config, bot_root) self._denormal = self._get_file_option(configuration_file, "denormal", files_config, bot_root) self._normal = self._get_file_option(configuration_file, "normal", files_config, bot_root) self._gender = self._get_file_option(configuration_file, "gender", files_config, bot_root) self._person = self._get_file_option(configuration_file, "person", files_config, bot_root) self._person2 = self._get_file_option(configuration_file, "person2", files_config, bot_root) self._properties = self._get_file_option(configuration_file, "properties", files_config, bot_root) self._variables = self._get_file_option(configuration_file, "variables", files_config, bot_root) self._triples = self._get_file_option(configuration_file, "triples", files_config, bot_root) self._preprocessors = self._get_file_option(configuration_file, "preprocessors", files_config, bot_root) self._postprocessors = self._get_file_option(configuration_file, "postprocessors", files_config, bot_root) self._regex_templates = self._get_file_option(configuration_file, "regex_templates", files_config, bot_root) else: YLogger.error(self, "Config section [files] missing from Brain, default values not appropriate") 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)