def assemble_list_json(query_params, query_result_dict): context = MemorizeContext() expand_uri = bool(int(query_params.get('expand_uri', '0'))) items_list = compress_keys_and_values( query_result_dict, keymap={"class": "@id", "label": "title"}, context=context, expand_uri=expand_uri) items_list = compress_duplicated_ids(items_list) decorate_with_resource_id(items_list) decorate_with_class_prefix(items_list) context_section = context.context context_section.update({"@language": query_params.get("lang")}) json_dict = { '_base_url': remove_last_slash(query_params.base_url), 'items': items_list, '@context': context_section, '@id': query_params['graph_uri'] } def calculate_total_items(): count_query_result_dict = query_count_classes(query_params) total_items = int(get_one_value(count_query_result_dict, "total_items")) return total_items decorate_dict_with_pagination(json_dict, query_params, calculate_total_items) return json_dict
def test_decorate_with_class_prefix_full_url(self): list_of_dicts = [{"@id": "http://xubiru/AnyClass"}] decorate_with_class_prefix(list_of_dicts) expected = [{ "@id": "http://xubiru/AnyClass", "class_prefix": "http://xubiru/" }] self.assertEqual(list_of_dicts, expected)
def test_decorate_with_class_prefix(self): list_of_dicts = [ {"@id": "dbpedia:AnyClass"} ] decorate_with_class_prefix(list_of_dicts, 0) expected = [ { "@id": "dbpedia:AnyClass", "class_prefix": "dbpedia"} ] self.assertEqual(list_of_dicts, expected)
def test_decorate_with_class_prefix_full_url(self): list_of_dicts = [ {"@id": "http://xubiru/AnyClass"} ] decorate_with_class_prefix(list_of_dicts, 1) expected = [ { "@id": "http://xubiru/AnyClass", "class_prefix": "http://xubiru/"} ] self.assertEqual(list_of_dicts, expected)
def test_decorate_with_class_prefix(self): list_of_dicts = [{"@id": "dbpedia:AnyClass"}] decorate_with_class_prefix(list_of_dicts) expected = [{"@id": "dbpedia:AnyClass", "class_prefix": "dbpedia"}] self.assertEqual(list_of_dicts, expected)