예제 #1
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 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
예제 #3
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
예제 #4
0
파일: resource.py 프로젝트: 1sha1/ckan
 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
예제 #5
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