Пример #1
0
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)
Пример #2
0
        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)
Пример #3
0
        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)
Пример #4
0
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)
Пример #5
0
 def remove_field_nolimit(key, value):
     params = list(params_nopage)
     params.remove((key, value))
     return search_url(params, mode + '/nolimit/')
Пример #6
0
 def drill_down_url_nolimit(**by):
     params = list(params_nopage)
     params.extend(by.items())
     return search_url(set(params), mode + '/nolimit/')
Пример #7
0
 def pager_url(q=None, page=None):
     params = list(params_nopage)
     params.append(('page', page))
     return search_url(params,
                       package_type).replace('/multiedit', '', 1)
Пример #8
0
 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)
Пример #11
0
 def pager_url(q=None, page=None):
     params = list(params_nopage)
     params.append(('page', page))
     return search_url(params, package_type)
Пример #12
0
 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)