コード例 #1
0
ファイル: paging.py プロジェクト: jessemyers/microcosm-flask
 def to_paginated_list(self, result, _ns, _operation, **kwargs):
     items, count, context = self.parse_result(result)
     headers = encode_count_header(count)
     paginated_list = OffsetLimitPaginatedList(
         items=items,
         count=count,
         _page=self,
         _ns=_ns,
         _operation=_operation,
         _context=context,
     )
     return paginated_list, headers
コード例 #2
0
 def to_paginated_list(self, result, _ns, _operation, **kwargs):
     items, count, context = self.parse_result(result)
     headers = encode_count_header(count)
     paginated_list = OffsetLimitPaginatedList(
         items=items,
         count=count,
         _page=self,
         _ns=_ns,
         _operation=_operation,
         _context=context,
     )
     return paginated_list, headers
コード例 #3
0
ファイル: crud.py プロジェクト: jessemyers/microcosm-flask
 def count(**path_data):
     request_data = load_query_string_data(definition.request_schema)
     response_data = dict()
     count = definition.func(**merge_data(path_data, request_data))
     headers = encode_count_header(count)
     definition.header_func(headers, response_data)
     response_format = self.negotiate_response_content(definition.response_formats)
     return dump_response_data(
         None,
         None,
         headers=headers,
         response_format=response_format,
     )
コード例 #4
0
        def search(**path_data):
            request_data = load_query_string_data(definition.request_schema)
            page = self.page_cls.from_query_string(request_data)
            return_value = definition.func(
                **merge_data(path_data, page.to_dict(as_str=False)))

            if len(return_value) == 3:
                items, count, context = return_value
            else:
                context = {}
                items, count = return_value

            response_data = PaginatedList(ns=ns,
                                          page=page,
                                          items=items,
                                          count=count,
                                          schema=definition.response_schema,
                                          operation=Operation.Search,
                                          **context)

            headers = encode_count_header(count)
            return dump_response_data(paginated_list_schema,
                                      response_data,
                                      headers=headers)
コード例 #5
0
 def count(**path_data):
     request_data = load_query_string_data(definition.request_schema)
     count = definition.func(**merge_data(path_data, request_data))
     headers = encode_count_header(count)
     return dump_response_data(None, None, headers=headers)