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
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]
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) }
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)
def test_list_useronly(self): total, _, l = dataset_list(self.test_user, only_user=True) assert total == 2, total
def test_list_filter(self): total, _, l = dataset_list(self.test_user, filter_query='two') assert total == 1, total
def test_list(self): total, _, l = dataset_list(self.test_user) assert total == 3, total