Skip to content
Snippets Groups Projects
Verified Commit 2664c739 authored by Ubbo Veentjer's avatar Ubbo Veentjer
Browse files

feat: configure textgrid host from env, reuse tgsearch client

parent fc1f6899
No related branches found
No related tags found
No related merge requests found
Pipeline #442599 passed
......@@ -3,6 +3,7 @@
# SPDX-License-Identifier: MIT
from typing import Any, Dict, List, Optional, Union
from os import getenv
import logging
from flask import Flask, Response, request
......@@ -17,7 +18,8 @@ from clarin.sru.fcs.xml.writer import FCSRecordXMLStreamWriter
from clarin.sru.exception import SRUException
from tgclients import TextgridSearch
from tgclients import TextgridSearch, TextgridConfig
from tgclients.config import PROD_SERVER
from tgclients.databinding.tgsearch import (
Response as SearchResponse,
ResultType,
......@@ -56,6 +58,14 @@ MIMETYPE_TEI_XML = "application/x-tei+xml"
logger = logging.getLogger(__name__)
app = Flask(__name__)
# config textgrid server urls from env
TEXTGRID_HOST = getenv('TEXTGRID_HOST', PROD_SERVER)
TGREP_HOST = getenv('TGREP_HOST', 'https://textgridrep.org')
# only instantiate tgsearch once globally, for connection and databinding reuse
tgconf = TextgridConfig(TEXTGRID_HOST)
tgsearch = TextgridSearch(tgconf)
def _cql2cqp(query: CQLQuery) -> str:
node: Union[cql.parser.CQLTriple, cql.parser.CQLSearchClause] = (
......@@ -212,8 +222,7 @@ class TgFCSEndpointSearchEngine(SimpleEndpointSearchEngineBase):
# print("search within project: ", request.request.tg_project_id)
project_filter = f"project.id:{request.request.tg_project_id}"
search = TextgridSearch()
results = search.search(
results = tgsearch.search(
query,
limit=request.get_maximum_records(),
start=request.get_start_record(),
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment