Added mentioned post requests, made it so that the response body is a clear json (as requested) in case the response is a json, fixed decimal bug, updated swagger templates and json
This commit is contained in:
@@ -15,7 +15,7 @@ from werkzeug.utils import secure_filename
|
||||
ATEapi_endpoint = "http://ate-api:5000/predict"
|
||||
|
||||
# endpoint below to be used only for development purposes (don't need to run docker)
|
||||
# ATEapi_endpoint = "http://localhost:5000/predict"
|
||||
# ATEapi_endpoint = "http://localhost:5001/predict"
|
||||
|
||||
|
||||
def do_izlusci(conllus, prepovedane_besede):
|
||||
@@ -54,7 +54,7 @@ def do_izlusci(conllus, prepovedane_besede):
|
||||
0.0 # ??????
|
||||
],
|
||||
# 'pogostostpojavljanja': [0, 0] # ???????
|
||||
'pogostostpojavljanja': tk['frequency'] # ???????
|
||||
'pogostostpojavljanja': int(tk['frequency']) # ???????
|
||||
}
|
||||
for tk in data if tk['lemma'] not in prepovedane_besede
|
||||
]}
|
||||
|
||||
@@ -68,9 +68,15 @@ def get_job_status(job_id): # noqa: E501
|
||||
return JobResponse(job_status="currently processing", created_on=job.created_on,
|
||||
started_on=job.started_on), 200
|
||||
if job.started_on is not None and job.finished_on is not None and not job.job_output.startswith("ERROR -"):
|
||||
res = job.job_output
|
||||
if job.job_type in [4, 5]:
|
||||
try:
|
||||
res = json.loads(job.job_output)
|
||||
except:
|
||||
pass
|
||||
return JobResponse(job_status="finished processing (OK)", created_on=job.created_on,
|
||||
started_on=job.started_on,
|
||||
finished_on=job.finished_on, job_result=job.job_output), 200
|
||||
finished_on=job.finished_on, job_result=res), 200
|
||||
if job.started_on is not None and job.finished_on is not None and job.job_output.startswith("ERROR -"):
|
||||
return JobResponse(job_status="finished processing (ERROR)", created_on=job.created_on,
|
||||
started_on=job.started_on,
|
||||
@@ -249,6 +255,11 @@ def execute_classla_job(job: Job):
|
||||
job.job_output = conllu
|
||||
job.finished_on = datetime.datetime.utcnow()
|
||||
job.save()
|
||||
except:
|
||||
job.job_output = "ERROR - Something unexpected went wrong. Logs have been saved. Please contact the api admin if the problem persists."
|
||||
job.finished_on = datetime.datetime.utcnow()
|
||||
job.save()
|
||||
print(f"Unexpected error at job {job.id}")
|
||||
finally:
|
||||
classla_sem.release()
|
||||
|
||||
@@ -279,6 +290,11 @@ def execute_ateapi_job(job: Job):
|
||||
job.job_output = json.dumps(ret_json, ensure_ascii=False)
|
||||
job.finished_on = datetime.datetime.utcnow()
|
||||
job.save()
|
||||
except:
|
||||
job.job_output = "ERROR - Something unexpected went wrong. Logs have been saved. Please contact the api admin if the problem persists."
|
||||
job.finished_on = datetime.datetime.utcnow()
|
||||
job.save()
|
||||
print(f"Unexpected error at job {job.id}")
|
||||
finally:
|
||||
ateapi_sem.release()
|
||||
|
||||
@@ -294,6 +310,11 @@ def execute_izluscipoiskanju_job(job: Job):
|
||||
job.job_output = json.dumps(terKand, ensure_ascii=False)
|
||||
job.finished_on = datetime.datetime.utcnow()
|
||||
job.save()
|
||||
except:
|
||||
job.job_output = "ERROR - Something unexpected went wrong. Logs have been saved. Please contact the api admin if the problem persists."
|
||||
job.finished_on = datetime.datetime.utcnow()
|
||||
job.save()
|
||||
print(f"Unexpected error at job {job.id}")
|
||||
finally:
|
||||
izluscipoiskanju_sem.release()
|
||||
|
||||
|
||||
@@ -0,0 +1,127 @@
|
||||
import connexion
|
||||
import six
|
||||
|
||||
from swagger_server.controllers.oss_controller import get_conllus, get_extracted_words, get_extracted_words_async, \
|
||||
get_files, get_number_texts, get_texts
|
||||
from swagger_server.models.terminoloski_kandidat import TerminoloskiKandidat # noqa: E501
|
||||
from swagger_server import util
|
||||
|
||||
|
||||
def get_conllus_post(leta=None, vrste=None, kljucne_besede=None, udk=None): # noqa: E501
|
||||
"""Vrne seznam CoNNL-U-jev glede na iskalne pogoje
|
||||
|
||||
# noqa: E501
|
||||
|
||||
:param leta:
|
||||
:type leta: List[int]
|
||||
:param vrste:
|
||||
:type vrste: List[int]
|
||||
:param kljucne_besede:
|
||||
:type kljucne_besede: List[str]
|
||||
:param udk:
|
||||
:type udk: List[str]
|
||||
|
||||
:rtype: List[str]
|
||||
"""
|
||||
return get_conllus(leta, vrste, kljucne_besede, udk)
|
||||
|
||||
|
||||
def get_extracted_words_async_post(leta=None, vrste=None, kljucne_besede=None, prepovedane_besede=None,
|
||||
udk=None): # noqa: E501
|
||||
"""Vrne terminloške kandidate glede na ... (async)
|
||||
|
||||
# noqa: E501
|
||||
|
||||
:param leta:
|
||||
:type leta: List[int]
|
||||
:param vrste:
|
||||
:type vrste: List[int]
|
||||
:param kljucne_besede:
|
||||
:type kljucne_besede: List[str]
|
||||
:param prepovedane_besede:
|
||||
:type prepovedane_besede: List[str]
|
||||
:param udk:
|
||||
:type udk: List[str]
|
||||
|
||||
:rtype: str
|
||||
"""
|
||||
return get_extracted_words_async(leta, vrste, kljucne_besede, prepovedane_besede, udk)
|
||||
|
||||
|
||||
def get_extracted_words_post(leta=None, vrste=None, kljucne_besede=None, prepovedane_besede=None,
|
||||
udk=None): # noqa: E501
|
||||
"""Vrne terminloške kandidate glede na ... (sync)
|
||||
|
||||
# noqa: E501
|
||||
|
||||
:param leta:
|
||||
:type leta: List[int]
|
||||
:param vrste:
|
||||
:type vrste: List[int]
|
||||
:param kljucne_besede:
|
||||
:type kljucne_besede: List[str]
|
||||
:param prepovedane_besede:
|
||||
:type prepovedane_besede: List[str]
|
||||
:param udk:
|
||||
:type udk: List[str]
|
||||
|
||||
:rtype: List[TerminoloskiKandidat]
|
||||
"""
|
||||
return get_extracted_words(leta, vrste, kljucne_besede, prepovedane_besede, udk)
|
||||
|
||||
|
||||
def get_files_post(leta=None, vrste=None, kljucne_besede=None, udk=None): # noqa: E501
|
||||
"""Vrne seznam binarnih zapisov v originalnem formatu glede na iskalne pogoje
|
||||
|
||||
# noqa: E501
|
||||
|
||||
:param leta:
|
||||
:type leta: List[int]
|
||||
:param vrste:
|
||||
:type vrste: List[int]
|
||||
:param kljucne_besede:
|
||||
:type kljucne_besede: List[str]
|
||||
:param udk:
|
||||
:type udk: List[str]
|
||||
|
||||
:rtype: List[List[bytearray]]
|
||||
"""
|
||||
return get_files(leta, vrste, kljucne_besede, udk)
|
||||
|
||||
|
||||
def get_number_texts_post(leta=None, vrste=None, kljucne_besede=None, udk=None): # noqa: E501
|
||||
"""Vrne število besedil glede na iskalne pogoje
|
||||
|
||||
# noqa: E501
|
||||
|
||||
:param leta:
|
||||
:type leta: List[int]
|
||||
:param vrste:
|
||||
:type vrste: List[int]
|
||||
:param kljucne_besede:
|
||||
:type kljucne_besede: List[str]
|
||||
:param udk:
|
||||
:type udk: List[str]
|
||||
|
||||
:rtype: int
|
||||
"""
|
||||
return get_number_texts(leta, vrste, kljucne_besede, udk)
|
||||
|
||||
|
||||
def get_texts_post(leta=None, vrste=None, kljucne_besede=None, udk=None): # noqa: E501
|
||||
"""Vrne seznam besedil glede na iskalne pogoje
|
||||
|
||||
# noqa: E501
|
||||
|
||||
:param leta:
|
||||
:type leta: List[int]
|
||||
:param vrste:
|
||||
:type vrste: List[int]
|
||||
:param kljucne_besede:
|
||||
:type kljucne_besede: List[str]
|
||||
:param udk:
|
||||
:type udk: List[str]
|
||||
|
||||
:rtype: List[str]
|
||||
"""
|
||||
return get_texts(leta, vrste, kljucne_besede, udk)
|
||||
Reference in New Issue
Block a user