def _search_with_filter(k_search,k_replace): from ckan.lib.base import request from ckan.controllers.package import search_url # most search operations should reset the page counter: params_nopage = [(k, v) for k,v in request.params.items() if k != 'page'] params = set(params_nopage) params_filtered = set() for (k,v) in params: if k==k_search: k=k_replace params_filtered.add((k,v)) return search_url(params_filtered)
def _sort_by(fields): """ Sort by the given list of fields. Each entry in the list is a 2-tuple: (fieldname, sort_order) eg - [('metadata_modified', 'desc'), ('name', 'asc')] If fields is empty, then the default ordering is used. """ params = params_nosort[:] if fields: sort_string = ', '.join('%s %s' % f for f in fields) params.append(('sort', sort_string)) return search_url(params, package_type)
def _search_with_filter(k_search, k_replace): from ckan.lib.base import request from ckan.controllers.package import search_url # most search operations should reset the page counter: params_nopage = [(k, v) for k, v in request.params.items() if k != "page"] params = set(params_nopage) params_filtered = set() for (k, v) in params: if k == k_search: k = k_replace params_filtered.add((k, v)) return search_url(params_filtered)
def remove_field_nolimit(key, value): params = list(params_nopage) params.remove((key, value)) return search_url(params, mode + '/nolimit/')
def drill_down_url_nolimit(**by): params = list(params_nopage) params.extend(by.items()) return search_url(set(params), mode + '/nolimit/')
def pager_url(q=None, page=None): params = list(params_nopage) params.append(('page', page)) return search_url(params, package_type).replace('/multiedit', '', 1)
def drill_down_url(alternative_url=None, **by): params = set(params_nopage) params |= set(by.items()) if alternative_url: return url_with_params(alternative_url, params) return search_url(params, mode + '/')
def pager_url(q=None, page=None): params = list(params_nopage) params.append(('page', page)) return search_url(params)
def _sort_by(fields): params = params_nosort[:] if fields: sort_string = ', '.join('%s %s' % f for f in fields) params.append(('sort', sort_string)) return search_url(params, package_type)
def pager_url(q=None, page=None): params = list(params_nopage) params.append(('page', page)) return search_url(params, package_type)