| parser.add_argument('hit_count_gte', type=int, | parser.add_argument('hit_count_gte', type=int, | ||||
| default=None, location='args') | default=None, location='args') | ||||
| parser.add_argument('enabled', type=str, default='all', location='args') | parser.add_argument('enabled', type=str, default='all', location='args') | ||||
| parser.add_argument('keyword', type=str, default=None, location='args') | |||||
| args = parser.parse_args() | args = parser.parse_args() | ||||
| last_id = args['last_id'] | last_id = args['last_id'] | ||||
| limit = min(args['limit'], 100) | limit = min(args['limit'], 100) | ||||
| status_list = args['status'] | status_list = args['status'] | ||||
| hit_count_gte = args['hit_count_gte'] | hit_count_gte = args['hit_count_gte'] | ||||
| keyword = args['keyword'] | |||||
| query = DocumentSegment.query.filter( | query = DocumentSegment.query.filter( | ||||
| DocumentSegment.document_id == str(document_id), | DocumentSegment.document_id == str(document_id), | ||||
| if hit_count_gte is not None: | if hit_count_gte is not None: | ||||
| query = query.filter(DocumentSegment.hit_count >= hit_count_gte) | query = query.filter(DocumentSegment.hit_count >= hit_count_gte) | ||||
| if keyword: | |||||
| query = query.where(DocumentSegment.content.ilike(f'%{keyword}%')) | |||||
| if args['enabled'].lower() != 'all': | if args['enabled'].lower() != 'all': | ||||
| if args['enabled'].lower() == 'true': | if args['enabled'].lower() == 'true': | ||||
| query = query.filter(DocumentSegment.enabled == True) | query = query.filter(DocumentSegment.enabled == True) |