예제 #1
0
파일: query.py 프로젝트: hypothesis/h
def _execute_search(request, query, page_size):
    # Wildcards and exact url matches are specified in the url facet so set
    # separate_wildcard_uri_keys to False.
    search = Search(request, stats=request.stats, separate_wildcard_uri_keys=False)
    search.append_modifier(AuthorityFilter(authority=request.default_authority))
    search.append_modifier(TopLevelAnnotationsFilter())
    for agg in aggregations_for(query):
        search.append_aggregation(agg)

    query = query.copy()
    page = request.params.get("page", 1)

    try:
        page = int(page)
    except ValueError:
        page = 1

    # Don't allow negative page numbers.
    if page < 1:
        page = 1

    query["limit"] = page_size
    query["offset"] = (page - 1) * page_size

    search_result = search.run(query)
    return search_result
예제 #2
0
def _execute_search(request, query, page_size):
    # Wildcards and exact url matches are specified in the url facet so set
    # separate_wildcard_uri_keys to False.
    search = Search(request,
                    stats=request.stats,
                    separate_wildcard_uri_keys=False)
    search.append_modifier(
        AuthorityFilter(authority=request.default_authority))
    search.append_modifier(TopLevelAnnotationsFilter())
    for agg in aggregations_for(query):
        search.append_aggregation(agg)

    query = query.copy()
    page = request.params.get("page", 1)

    try:
        page = int(page)
    except ValueError:
        page = 1

    # Don't allow negative page numbers.
    if page < 1:
        page = 1

    query["limit"] = page_size
    query["offset"] = (page - 1) * page_size

    search_result = search.run(query)
    return search_result
예제 #3
0
파일: query.py 프로젝트: kael/h
def _execute_search(request, query, page_size):
    search = Search(request, stats=request.stats)
    search.append_modifier(
        AuthorityFilter(authority=request.default_authority))
    search.append_modifier(TopLevelAnnotationsFilter())
    if request.feature("wildcard_search_on_activity_pages"):
        search.append_modifier(UriCombinedWildcardFilter(request=request))
    else:
        search.append_modifier(UriFilter(request=request))
    for agg in aggregations_for(query):
        search.append_aggregation(agg)

    query = query.copy()
    page = request.params.get('page', 1)

    try:
        page = int(page)
    except ValueError:
        page = 1

    # Don't allow negative page numbers.
    if page < 1:
        page = 1

    query['limit'] = page_size
    query['offset'] = (page - 1) * page_size

    search_result = search.run(query)
    return search_result
예제 #4
0
    def total_user_annotation_count(self, userid):
        """
        Return the count of all annotations for this user.

        This disregards permissions, private/public, etc and returns the
        total number of annotations the user has made (including replies).
        """
        params = MultiDict({"limit": 0, "user": userid})

        search = Search(self.request, stats=self.request.stats)
        search.clear()
        search.append_modifier(Limiter())
        search.append_modifier(DeletedFilter())
        search.append_modifier(UserFilter())

        search_result = search.run(params)
        return search_result.total
예제 #5
0
    def total_user_annotation_count(self, userid):
        """
        Return the count of all annotations for this user.

        This disregards permissions, private/public, etc and returns the
        total number of annotations the user has made (including replies).
        """
        params = MultiDict({"limit": 0, "user": userid})

        search = Search(self.request, stats=self.request.stats)
        search.clear()
        search.append_modifier(Limiter())
        search.append_modifier(DeletedFilter())
        search.append_modifier(UserFilter())

        search_result = search.run(params)
        return search_result.total
예제 #6
0
파일: query.py 프로젝트: truthadjustr/h
def _execute_search(request, query, page_size):
    search = Search(request, stats=request.stats)
    search.append_filter(TopLevelAnnotationsFilter())
    for agg in aggregations_for(query):
        search.append_aggregation(agg)

    query = query.copy()
    page = request.params.get('page', 1)

    try:
        page = int(page)
    except ValueError:
        page = 1

    # Don't allow negative page numbers.
    if page < 1:
        page = 1

    query['limit'] = page_size
    query['offset'] = (page - 1) * page_size

    search_result = search.run(query)
    return search_result
예제 #7
0
    def _search(self, params):
        search = Search(self.request, stats=self.request.stats)
        search.append_modifier(TopLevelAnnotationsFilter())

        search_result = search.run(params)
        return search_result.total
예제 #8
0
    def _search(self, params):
        search = Search(self.request, stats=self.request.stats)
        search.append_modifier(TopLevelAnnotationsFilter())

        search_result = search.run(params)
        return search_result.total