def test_12_search_all_fields(self): fields = {'url': 'a/b'} options = search.QueryOptions(all_fields=True) result = search.query_for(model.Resource).run(fields=fields, options=options) assert result['count'] == 1, result res_dict = result['results'][0] assert isinstance(res_dict, dict) res_keys = set(res_dict.keys()) expected_res_keys = set(model.Resource.get_columns()) expected_res_keys.update([ 'id', 'resource_group_id', 'package_id', 'position', 'size_extra', 'tracking_summary' ]) assert_equal(res_keys, expected_res_keys) pkg1 = model.Package.by_name(u'pkg1') ab = pkg1.resources[0] assert res_dict['id'] == ab.id assert res_dict['package_id'] == pkg1.id assert res_dict['url'] == ab.url assert res_dict['description'] == ab.description # FIXME: This needs to be fixed before this branch is merged to master from ckan.lib.dictization.model_dictize import _unified_resource_format assert res_dict['format'] == _unified_resource_format(ab.format) assert res_dict['hash'] == ab.hash assert res_dict['position'] == 0
def test_12_search_all_fields(self): fields = {"url": "a/b"} options = search.QueryOptions(all_fields=True) result = search.query_for(model.Resource).run(fields=fields, options=options) assert result["count"] == 1, result res_dict = result["results"][0] assert isinstance(res_dict, dict) res_keys = set(res_dict.keys()) expected_res_keys = set(model.Resource.get_columns()) expected_res_keys.update( ["id", "resource_group_id", "package_id", "position", "size_extra", "tracking_summary"] ) assert_equal(res_keys, expected_res_keys) pkg1 = model.Package.by_name(u"pkg1") ab = pkg1.resources[0] assert res_dict["id"] == ab.id assert res_dict["package_id"] == pkg1.id assert res_dict["url"] == ab.url assert res_dict["description"] == ab.description # FIXME: This needs to be fixed before this branch is merged to master from ckan.lib.dictization.model_dictize import _unified_resource_format assert res_dict["format"] == _unified_resource_format(ab.format) assert res_dict["hash"] == ab.hash assert res_dict["position"] == 0
def as_dict(self, core_columns_only=False): _dict = OrderedDict() cols = self.get_columns() if not core_columns_only: cols = ['id', 'resource_group_id'] + cols + ['position'] for col in cols: value = getattr(self, col) if isinstance(value, datetime.datetime): value = value.isoformat() _dict[col] = value for k, v in self.extras.items() if self.extras else []: _dict[k] = v if self.resource_group and not core_columns_only: _dict["package_id"] = self.resource_group.package_id # FIXME format unification needs doing better import ckan.lib.dictization.model_dictize as model_dictize _dict[u'format'] = model_dictize._unified_resource_format(self.format) return _dict
def as_dict(self, core_columns_only=False): _dict = OrderedDict() cols = self.get_columns() if not core_columns_only: cols = ['id', 'resource_group_id'] + cols + ['position'] for col in cols: value = getattr(self, col) if isinstance(value, datetime.datetime): value = value.isoformat() _dict[col] = value for k, v in self.extras.items() if self.extras else []: _dict[k] = v if self.resource_group and not core_columns_only: _dict["package_id"] = self.resource_group.package_id # FIXME format unification needs doing better import ckan.lib.dictization.model_dictize as model_dictize _dict[u'format'] = model_dictize._unified_resource_format(self.format) return _dict
def test_12_search_all_fields(self): fields = {'url':'a/b'} options = search.QueryOptions(all_fields=True) result = search.query_for(model.Resource).run(fields=fields, options=options) assert result['count'] == 1, result res_dict = result['results'][0] assert isinstance(res_dict, dict) res_keys = set(res_dict.keys()) expected_res_keys = set(model.Resource.get_columns()) expected_res_keys.update(['id', 'resource_group_id', 'package_id', 'position', 'size_extra', 'tracking_summary']) assert_equal(res_keys, expected_res_keys) pkg1 = model.Package.by_name(u'pkg1') ab = pkg1.resources[0] assert res_dict['id'] == ab.id assert res_dict['package_id'] == pkg1.id assert res_dict['url'] == ab.url assert res_dict['description'] == ab.description # FIXME: This needs to be fixed before this branch is merged to master from ckan.lib.dictization.model_dictize import _unified_resource_format assert res_dict['format'] == _unified_resource_format(ab.format) assert res_dict['hash'] == ab.hash assert res_dict['position'] == 0