Refactored Caching, Refactored BnfNodeParser, Introduced Sphinx

This commit is contained in:
2020-05-12 17:21:10 +02:00
parent 7d3a490bc5
commit 6e343ba996
110 changed files with 13865 additions and 7540 deletions
+12 -12
View File
@@ -1,20 +1,21 @@
from core.sheerka.Sheerka import Sheerka
from tests.BaseTest import BaseTest
class TestUsingMemoryBasedSheerka(BaseTest):
singleton_instance = None
builtin_concepts = {}
dump = None
@staticmethod
def _inner_get_sheerka(skip_builtins_in_db):
sheerka = Sheerka(skip_builtins_in_db=skip_builtins_in_db)
sheerka.initialize("mem://")
def _inner_get_sheerka(cache_only):
sheerka = Sheerka(cache_only=cache_only)
sheerka.initialize("mem://", save_execution_context=False)
return sheerka
def get_sheerka(self, **kwargs):
skip_builtins_in_db = kwargs.get("skip_builtins_in_db", True)
use_singleton = kwargs.get("singleton", False)
cache_only = kwargs.get("cache_only", True)
use_singleton = kwargs.get("singleton", True)
sheerka = kwargs.get("sheerka", None)
if sheerka:
@@ -23,14 +24,13 @@ class TestUsingMemoryBasedSheerka(BaseTest):
if use_singleton:
singleton_instance = TestUsingMemoryBasedSheerka.singleton_instance
if singleton_instance:
singleton_instance.reset()
singleton_instance.cache_by_key.update(TestUsingMemoryBasedSheerka.builtin_concepts) # quicker ?
# singleton_instance.cache_by_key = TestUsingMemoryBasedSheerka.builtin_concepts
singleton_instance.reset(cache_only)
singleton_instance.cache_manager.init_from(TestUsingMemoryBasedSheerka.dump)
return singleton_instance
else:
new_instance = self._inner_get_sheerka(skip_builtins_in_db)
TestUsingMemoryBasedSheerka.builtin_concepts.update(new_instance.cache_by_key)
new_instance = self._inner_get_sheerka(cache_only)
TestUsingMemoryBasedSheerka.dump = new_instance.cache_manager.dump()
TestUsingMemoryBasedSheerka.singleton_instance = new_instance
return TestUsingMemoryBasedSheerka.singleton_instance
return self._inner_get_sheerka(skip_builtins_in_db)
return self._inner_get_sheerka(cache_only)