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)
|
||||
@@ -339,6 +339,60 @@ paths:
|
||||
format: int64
|
||||
x-content-type: '*/*'
|
||||
x-openapi-router-controller: swagger_server.controllers.oss_controller
|
||||
post:
|
||||
tags:
|
||||
- oss-post
|
||||
summary: Vrne število besedil glede na iskalne pogoje
|
||||
operationId: get_number_texts_post
|
||||
parameters:
|
||||
- name: leta
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: integer
|
||||
format: int64
|
||||
- name: vrste
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: integer
|
||||
format: int64
|
||||
- name: kljucneBesede
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
- name: udk
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
type: integer
|
||||
format: int64
|
||||
x-content-type: '*/*'
|
||||
x-openapi-router-controller: swagger_server.controllers.oss_post_controller
|
||||
/oss/izlusciPoIskanju:
|
||||
get:
|
||||
tags:
|
||||
@@ -404,6 +458,70 @@ paths:
|
||||
$ref: '#/components/schemas/TerminoloskiKandidat'
|
||||
x-content-type: '*/*'
|
||||
x-openapi-router-controller: swagger_server.controllers.oss_controller
|
||||
post:
|
||||
tags:
|
||||
- oss-post
|
||||
summary: Vrne terminloške kandidate glede na ... (sync)
|
||||
operationId: get_extracted_words_post
|
||||
parameters:
|
||||
- name: leta
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: integer
|
||||
format: int64
|
||||
- name: vrste
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: integer
|
||||
format: int64
|
||||
- name: kljucneBesede
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
- name: prepovedaneBesede
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
- name: udk
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
$ref: '#/components/schemas/TerminoloskiKandidat'
|
||||
x-content-type: '*/*'
|
||||
x-openapi-router-controller: swagger_server.controllers.oss_post_controller
|
||||
/oss/izlusciPoIskanjuAsync:
|
||||
get:
|
||||
tags:
|
||||
@@ -467,6 +585,68 @@ paths:
|
||||
type: string
|
||||
x-content-type: '*/*'
|
||||
x-openapi-router-controller: swagger_server.controllers.oss_controller
|
||||
post:
|
||||
tags:
|
||||
- oss-post
|
||||
summary: Vrne terminloške kandidate glede na ... (async)
|
||||
operationId: get_extracted_words_async_post
|
||||
parameters:
|
||||
- name: leta
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: integer
|
||||
format: int64
|
||||
- name: vrste
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: integer
|
||||
format: int64
|
||||
- name: kljucneBesede
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
- name: prepovedaneBesede
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
- name: udk
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
type: string
|
||||
x-content-type: '*/*'
|
||||
x-openapi-router-controller: swagger_server.controllers.oss_post_controller
|
||||
/oss/datotekePoIskanju:
|
||||
get:
|
||||
tags:
|
||||
@@ -527,6 +707,65 @@ paths:
|
||||
format: byte
|
||||
x-content-type: application/octet-stream
|
||||
x-openapi-router-controller: swagger_server.controllers.oss_controller
|
||||
post:
|
||||
tags:
|
||||
- oss-post
|
||||
summary: Vrne seznam binarnih zapisov v originalnem formatu glede na iskalne
|
||||
pogoje
|
||||
operationId: get_files_post
|
||||
parameters:
|
||||
- name: leta
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: integer
|
||||
format: int64
|
||||
- name: vrste
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: integer
|
||||
format: int64
|
||||
- name: kljucneBesede
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
- name: udk
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
content:
|
||||
application/octet-stream:
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
format: byte
|
||||
x-content-type: application/octet-stream
|
||||
x-openapi-router-controller: swagger_server.controllers.oss_post_controller
|
||||
/oss/datotekaPoId:
|
||||
get:
|
||||
tags:
|
||||
@@ -610,6 +849,61 @@ paths:
|
||||
type: string
|
||||
x-content-type: '*/*'
|
||||
x-openapi-router-controller: swagger_server.controllers.oss_controller
|
||||
post:
|
||||
tags:
|
||||
- oss-post
|
||||
summary: Vrne seznam CoNNL-U-jev glede na iskalne pogoje
|
||||
operationId: get_conllus_post
|
||||
parameters:
|
||||
- name: leta
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: integer
|
||||
format: int64
|
||||
- name: vrste
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: integer
|
||||
format: int64
|
||||
- name: kljucneBesede
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
- name: udk
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
x-content-type: '*/*'
|
||||
x-openapi-router-controller: swagger_server.controllers.oss_post_controller
|
||||
/oss/conlluPoId:
|
||||
get:
|
||||
tags:
|
||||
@@ -714,6 +1008,61 @@ paths:
|
||||
type: string
|
||||
x-content-type: '*/*'
|
||||
x-openapi-router-controller: swagger_server.controllers.oss_controller
|
||||
post:
|
||||
tags:
|
||||
- oss-post
|
||||
summary: Vrne seznam besedil glede na iskalne pogoje
|
||||
operationId: get_texts_post
|
||||
parameters:
|
||||
- name: leta
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: integer
|
||||
format: int64
|
||||
- name: vrste
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: integer
|
||||
format: int64
|
||||
- name: kljucneBesede
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
- name: udk
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
responses:
|
||||
"200":
|
||||
description: OK
|
||||
content:
|
||||
'*/*':
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
x-content-type: '*/*'
|
||||
x-openapi-router-controller: swagger_server.controllers.oss_post_controller
|
||||
components:
|
||||
schemas:
|
||||
TerminoloskiKandidat:
|
||||
@@ -734,17 +1083,13 @@ components:
|
||||
type: number
|
||||
format: float
|
||||
pogostostpojavljanja:
|
||||
type: array
|
||||
items:
|
||||
type: integer
|
||||
format: int64
|
||||
type: number
|
||||
format: int64
|
||||
example:
|
||||
podporneutezi:
|
||||
- 6.0274563
|
||||
- 6.0274563
|
||||
pogostostpojavljanja:
|
||||
- 1
|
||||
- 1
|
||||
pogostostpojavljanja: 1.46581298050294517310021547018550336360931396484375
|
||||
POSoznake: POSoznake
|
||||
kanonicnaoblika: kanonicnaoblika
|
||||
nosilnautez: 0.8008282
|
||||
@@ -869,4 +1214,57 @@ components:
|
||||
file:
|
||||
type: string
|
||||
format: binary
|
||||
parameters:
|
||||
leta:
|
||||
name: leta
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: integer
|
||||
format: int64
|
||||
vrste:
|
||||
name: vrste
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: integer
|
||||
format: int64
|
||||
kljucneBesede:
|
||||
name: kljucneBesede
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
prepovedaneBesede:
|
||||
name: prepovedaneBesede
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
udk:
|
||||
name: udk
|
||||
in: query
|
||||
required: false
|
||||
style: form
|
||||
explode: true
|
||||
schema:
|
||||
type: array
|
||||
items:
|
||||
type: string
|
||||
|
||||
|
||||
@@ -172,7 +172,8 @@ def vrni_oss_terminoloske_kandidate(leta, vrste, kljucne_besede, prepovedane_bes
|
||||
0.0, # ????????
|
||||
0.0 # ??????
|
||||
],
|
||||
'pogostostpojavljanja': [tf, 0] # ???????
|
||||
# 'pogostostpojavljanja': [tf 0.0] # ???????
|
||||
'pogostostpojavljanja': int(tf)
|
||||
}
|
||||
for upos,ngram,tfidf,tf in cur
|
||||
]}
|
||||
|
||||
Reference in New Issue
Block a user