diff options
-rw-r--r-- | lib/top_block_query.cpp | 6 | ||||
-rw-r--r-- | tests/query_test.py | 6 |
2 files changed, 3 insertions, 9 deletions
diff --git a/lib/top_block_query.cpp b/lib/top_block_query.cpp index 8a9261c..c38fbd9 100644 --- a/lib/top_block_query.cpp +++ b/lib/top_block_query.cpp @@ -168,18 +168,18 @@ static ptree query_props(ElementImpl *self, const ptree &query) ptree root; const std::string block_id = query.get<std::string>("block"); const std::string prop_key = query.get<std::string>("key"); - const std::string action = query.get<std::string>("action"); + const bool set = query.count("value") != 0; BOOST_FOREACH(Apology::Worker *worker, self->executor->get_workers()) { BlockActor *block = dynamic_cast<BlockActor *>(worker); if (block->block_ptr->get_uid() != block_id) continue; - if (action == "set") + if (set) { const std::type_info &t = block->property_registry[prop_key].setter->type(); const PMCC p = ptree_to_pmc(query.get_child("value"), t); block->prop_access_dispatcher(prop_key, p, true); } - if (action == "get") + else { PMCC p = block->prop_access_dispatcher(prop_key, PMC(), false); ptree v = pmc_to_ptree(p); diff --git a/tests/query_test.py b/tests/query_test.py index 8faa148..98561ff 100644 --- a/tests/query_test.py +++ b/tests/query_test.py @@ -88,7 +88,6 @@ class QueryTest(unittest.TestCase): path="/props.json", block='test_numeric_query', key='numeric_value', - action='set', value=42, )) self.assertEqual(block.numeric_value, 42) @@ -99,7 +98,6 @@ class QueryTest(unittest.TestCase): path="/props.json", block='test_numeric_query', key='numeric_value', - action='get' )) self.assertEqual(result['value'], 21) @@ -108,7 +106,6 @@ class QueryTest(unittest.TestCase): path="/props.json", block='test_numeric_query', key='numeric_value', - action='set', value='(0, 42)', )) self.assertEqual(block.numeric_value, 42j) @@ -119,7 +116,6 @@ class QueryTest(unittest.TestCase): path="/props.json", block='test_numeric_query', key='numeric_value', - action='get' )) self.assertEqual(result['value'], '(0,21)') @@ -136,7 +132,6 @@ class QueryTest(unittest.TestCase): path="/props.json", block='test_vector_query', key='vector_value', - action='set', value=[1, 2, 3, 4, 5], )) self.assertEqual(list(block.vector_value), [1, 2, 3, 4, 5]) @@ -147,7 +142,6 @@ class QueryTest(unittest.TestCase): path="/props.json", block='test_vector_query', key='vector_value', - action='get' )) self.assertEqual(list(result['value']), [6, 7, 8, 9]) |