Fixed #134 : Regression on objects filtering using 'where'
This commit is contained in:
@@ -31,9 +31,10 @@ class SheerkaQueryManager(BaseService):
|
|||||||
self.sheerka.bind_service_method(self.NAME, self.select_objects, False)
|
self.sheerka.bind_service_method(self.NAME, self.select_objects, False)
|
||||||
self.sheerka.bind_service_method(self.NAME, self.collect_attributes, False)
|
self.sheerka.bind_service_method(self.NAME, self.collect_attributes, False)
|
||||||
|
|
||||||
self.sheerka.bind_service_method(self.NAME, self.filter_objects, False, as_name="pipe_where")
|
self.sheerka.bind_service_method(self.NAME, self.filter_objects, False)
|
||||||
self.sheerka.bind_service_method(self.NAME, self.select_objects, False, as_name="pipe_select")
|
self.sheerka.bind_service_method(self.NAME, self.select_objects, False, as_name="pipe_select")
|
||||||
self.sheerka.bind_service_method(self.NAME, self.collect_attributes, False, as_name="pipe_props")
|
self.sheerka.bind_service_method(self.NAME, self.collect_attributes, False, as_name="pipe_props")
|
||||||
|
self.sheerka.bind_service_method(self.NAME, self.where_on_objects, False, as_name="pipe_where")
|
||||||
|
|
||||||
self.sheerka.register_debug_vars(SheerkaQueryManager.NAME, "filter_objects", "query")
|
self.sheerka.register_debug_vars(SheerkaQueryManager.NAME, "filter_objects", "query")
|
||||||
|
|
||||||
@@ -267,3 +268,6 @@ class SheerkaQueryManager(BaseService):
|
|||||||
results.append(obj)
|
results.append(obj)
|
||||||
|
|
||||||
return results
|
return results
|
||||||
|
|
||||||
|
def where_on_objects(self, context, objects, predicate=None, **kwargs):
|
||||||
|
return self.filter_objects(context, objects, predicate=predicate, **kwargs)
|
||||||
|
|||||||
@@ -30,9 +30,10 @@ class TestSheerkaNonRegPipeFunctions(TestUsingMemoryBasedSheerka):
|
|||||||
def test_i_can_filter_using_sheerka_methods(self):
|
def test_i_can_filter_using_sheerka_methods(self):
|
||||||
init = [
|
init = [
|
||||||
"def concept one as 1",
|
"def concept one as 1",
|
||||||
|
"def concept foo",
|
||||||
"def concept number",
|
"def concept number",
|
||||||
"set_isa(one, number)",
|
"set_isa(one, number)",
|
||||||
"add_to_memory('x', [one])"
|
"add_to_memory('x', [one, foo])"
|
||||||
]
|
]
|
||||||
|
|
||||||
sheerka = self.init_scenario(init, global_truth=True)
|
sheerka = self.init_scenario(init, global_truth=True)
|
||||||
|
|||||||
Reference in New Issue
Block a user