| import logging | import logging | ||||
| from argparse import ArgumentTypeError | |||||
| from datetime import datetime, timezone | from datetime import datetime, timezone | ||||
| from flask import request | from flask import request | ||||
| from flask_login import current_user | from flask_login import current_user | ||||
| from flask_restful import Resource, fields, marshal, marshal_with, reqparse | from flask_restful import Resource, fields, marshal, marshal_with, reqparse | ||||
| from sqlalchemy import asc, desc | from sqlalchemy import asc, desc | ||||
| from transformers.hf_argparser import string_to_bool | |||||
| from werkzeug.exceptions import Forbidden, NotFound | from werkzeug.exceptions import Forbidden, NotFound | ||||
| import services | import services | ||||
| limit = request.args.get('limit', default=20, type=int) | limit = request.args.get('limit', default=20, type=int) | ||||
| search = request.args.get('keyword', default=None, type=str) | search = request.args.get('keyword', default=None, type=str) | ||||
| sort = request.args.get('sort', default='-created_at', 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) | dataset = DatasetService.get_dataset(dataset_id) | ||||
| if not dataset: | if not dataset: | ||||
| raise NotFound('Dataset not found.') | raise NotFound('Dataset not found.') |