diff --git a/api/controllers/console/datasets/datasets_document.py b/api/controllers/console/datasets/datasets_document.py index 9dedcefe0f..3e1870d1e1 100644 --- a/api/controllers/console/datasets/datasets_document.py +++ b/api/controllers/console/datasets/datasets_document.py @@ -1,10 +1,12 @@ import logging +from argparse import ArgumentTypeError from datetime import datetime, timezone from flask import request from flask_login import current_user from flask_restful import Resource, fields, marshal, marshal_with, reqparse from sqlalchemy import asc, desc +from transformers.hf_argparser import string_to_bool from werkzeug.exceptions import Forbidden, NotFound import services @@ -141,7 +143,11 @@ class DatasetDocumentListApi(Resource): limit = request.args.get('limit', default=20, type=int) search = request.args.get('keyword', default=None, type=str) sort = request.args.get('sort', default='-created_at', type=str) - fetch = request.args.get('fetch', default=False, type=bool) + # "yes", "true", "t", "y", "1" convert to True, while others convert to False. + try: + fetch = string_to_bool(request.args.get('fetch', default='false')) + except (ArgumentTypeError, ValueError, Exception) as e: + fetch = False dataset = DatasetService.get_dataset(dataset_id) if not dataset: raise NotFound('Dataset not found.')