def list(self, request): """Provides a list of available tasks.""" logging.info('%s', request) state = request.state.name.lower() uses = sum([bool(request.tags), state != 'all']) if state != 'all': raise endpoints.BadRequestException( 'Querying by state is not yet supported. ' 'Received argument state=%s.' % state) if uses > 1: raise endpoints.BadRequestException( 'Only one of tag (1 or many) or state can be used.') # get the tasks try: start = message_conversion.epoch_to_datetime(request.start) end = message_conversion.epoch_to_datetime(request.end) items, cursor_str, state = task_result.get_result_summaries( request.tags, request.cursor, start, end, state, request.limit) return swarming_rpcs.TaskList( cursor=cursor_str, items=[message_conversion.task_result_to_rpc(i) for i in items]) except ValueError as e: raise endpoints.BadRequestException( 'Inappropriate limit for tasks/list: %s' % e)
def list(self, request): """Provides a list of available tasks.""" state = request.state.name.lower() uses = sum([bool(request.tag), state != 'all']) if state != 'all': raise endpoints.BadRequestException( 'Querying by state is not yet supported. ' 'Received argument state=%s.' % state) if uses > 1: raise endpoints.BadRequestException( 'Only one of tag (1 or many) or state can be used.') # get the tasks try: start, end = _get_range(request) items, cursor_str, state = task_result.get_result_summaries( request.tag, request.cursor, start, end, state, request.batch_size) return swarming_rpcs.TaskList( cursor=cursor_str, items=[message_conversion.task_result_summary_from_dict( utils.to_json_encodable(item)) for item in items]) except ValueError as e: raise endpoints.BadRequestException( 'Inappropriate batch_size for tasks/list: %s' % e)