コード例 #1
0
 def test_list_limited(self):
     # dataset_list(user, page=1, filter_query=None, sort=None, only_user =
     # False):
     total, _, l = dataset_list(self.test_user, fields=['name', 'title'])
     d1, _, _ = l
     assert len(d1.keys()) == 2
     assert 'name' in d1
     assert 'title' in d1
コード例 #2
0
    def test_list_limited_filter(self):
        total, _, l = dataset_list(self.test_user,
                                   filter_query='one',
                                   fields=['name', 'title'])

        assert len(l) == 1
        assert len(l[0].keys()) == 2
        assert 'name' in l[0]
        assert 'title' in l[0]
コード例 #3
0
def _manage_context(request, only_user, view_name):
    q = request.GET.get('q')
    sort = request.GET.get('sort')

    page = 1
    try:
        page = int(request.GET.get('page'))
    except BaseException:
        page = 1

    if sort == 'name':
        sort_name_next = '-name'
        sort_published_next = 'published'
    elif sort == '-name':
        sort_name_next = ''
        sort_published_next = 'published'
    elif sort == 'published':
        sort_name_next = 'name'
        sort_published_next = '-published'
    elif sort == '-published':
        sort_name_next = 'name'
        sort_published_next = ''
    else:
        sort_name_next = 'name'
        sort_published_next = 'published'

    if sort and sort not in ['name', 'published', '-name', '-published']:
        sort = None

    total, page_count, datasets = dataset_list(
        request.user, page, filter_query=q, sort=sort, only_user=only_user
    )

    ckan_host = get_config('ckan.host') or ''

    organisation = request.user.primary_organisation()

    return {
        "current_view": view_name,
        "datasets": datasets,
        "organisation": organisation,
        "total": total,
        "page_range": range(1, page_count + 1),
        "current_page": page,
        "q": q or "",
        "find_url": settings.FIND_URL or ckan_host,
        "sort": sort,
        "qs_name_next": reverse(view_name) +
        _query_string(q, sort_name_next),
        "qs_published_next": reverse(view_name) +
        _query_string(q, sort_published_next)
    }
コード例 #4
0
def dataset_lookup(request):
    q = request.GET.get('q')
    sort = request.GET.get('sort', 'name')
    only_user = True if request.GET.get('only_user') == '1' else False
    total, page_count, datasets = dataset_list(
        request.user,
        filter_query=q,
        sort=sort,
        only_user=only_user,
        fields=['title', 'name', 'published'])
    return JsonResponse({
        'total': total,
        'datasets': list(datasets)
    },
                        safe=False)
コード例 #5
0
 def test_list_useronly(self):
     total, _, l = dataset_list(self.test_user, only_user=True)
     assert total == 2, total
コード例 #6
0
 def test_list_filter(self):
     total, _, l = dataset_list(self.test_user, filter_query='two')
     assert total == 1, total
コード例 #7
0
 def test_list(self):
     total, _, l = dataset_list(self.test_user)
     assert total == 3, total