configuration: added 'glossaries' directory

This commit is contained in:
juk0de 2024-02-05 18:21:38 +01:00
parent 2d94f8a108
commit c0b49c96b7
2 changed files with 9 additions and 2 deletions

View File

@ -118,6 +118,7 @@ class Config:
# a default configuration # a default configuration
cache: str = '.' cache: str = '.'
db: str = './db/' db: str = './db/'
glossaries: str | None = './glossaries/'
ais: dict[str, AIConfig] = field(default_factory=create_default_ai_configs) ais: dict[str, AIConfig] = field(default_factory=create_default_ai_configs)
@classmethod @classmethod
@ -135,7 +136,8 @@ class Config:
return cls( return cls(
cache=str(source['cache']) if 'cache' in source else '.', cache=str(source['cache']) if 'cache' in source else '.',
db=str(source['db']), db=str(source['db']),
ais=ais ais=ais,
glossaries=str(source['glossaries']) if 'glossaries' in source else None
) )
@classmethod @classmethod

View File

@ -71,11 +71,13 @@ class TestConfig(unittest.TestCase):
'frequency_penalty': 0.7, 'frequency_penalty': 0.7,
'presence_penalty': 0.2 'presence_penalty': 0.2
} }
} },
'glossaries': './glossaries/'
} }
config = Config.from_dict(source_dict) config = Config.from_dict(source_dict)
self.assertEqual(config.cache, '.') self.assertEqual(config.cache, '.')
self.assertEqual(config.db, './test_db/') self.assertEqual(config.db, './test_db/')
self.assertEqual(config.glossaries, './glossaries/')
self.assertEqual(len(config.ais), 1) self.assertEqual(len(config.ais), 1)
self.assertEqual(config.ais['myopenai'].name, 'openai') self.assertEqual(config.ais['myopenai'].name, 'openai')
self.assertEqual(cast(OpenAIConfig, config.ais['myopenai']).system, 'Custom system') self.assertEqual(cast(OpenAIConfig, config.ais['myopenai']).system, 'Custom system')
@ -105,6 +107,7 @@ class TestConfig(unittest.TestCase):
'frequency_penalty': 0.7, 'frequency_penalty': 0.7,
'presence_penalty': 0.2 'presence_penalty': 0.2
} }
# omit glossaries, since it's optional
} }
} }
with open(self.test_file.name, 'w') as f: with open(self.test_file.name, 'w') as f:
@ -113,6 +116,8 @@ class TestConfig(unittest.TestCase):
self.assertIsInstance(config, Config) self.assertIsInstance(config, Config)
self.assertEqual(config.cache, './test_cache/') self.assertEqual(config.cache, './test_cache/')
self.assertEqual(config.db, './test_db/') self.assertEqual(config.db, './test_db/')
# missing 'glossaries' should result in 'None'
self.assertEqual(config.glossaries, None)
self.assertEqual(len(config.ais), 1) self.assertEqual(len(config.ais), 1)
self.assertIsInstance(config.ais['default'], AIConfig) self.assertIsInstance(config.ais['default'], AIConfig)
self.assertEqual(cast(OpenAIConfig, config.ais['default']).system, 'Custom system') self.assertEqual(cast(OpenAIConfig, config.ais['default']).system, 'Custom system')