Dodana tika & format (v swagger definiciji se ni nic novega v tem commitu)

This commit is contained in:
Kikimanox
2022-08-31 14:49:47 +02:00
parent 5a87193490
commit c30b014a68
4 changed files with 316 additions and 294 deletions
+1 -1
View File
@@ -179,7 +179,7 @@
"tags": [ "tags": [
"doc-2text" "doc-2text"
], ],
"summary": "Pretvori datoteko formata pdf, doc, docx, ppt, xls,... v besedilo", "summary": "Pretvori datoteko formata pdf, doc, docx, ppt, xls,... vraca besedilo",
"requestBody": { "requestBody": {
"content": { "content": {
"multipart/form-data": { "multipart/form-data": {
@@ -1,8 +1,10 @@
from tempfile import TemporaryFile
import connexion import connexion
import six import six
# import tika # import tika
import requests import requests
import json
from swagger_server import util from swagger_server import util
import pandas as pd import pandas as pd
import docx import docx
@@ -10,6 +12,11 @@ import codecs
import xml.etree.ElementTree as ET import xml.etree.ElementTree as ET
from PyPDF2 import PdfReader from PyPDF2 import PdfReader
tika_server = "http://tika:9998/tika"
tika_server = "http://rsdo.lhrs.feri.um.si:9998/tika"
def datoteka_v_besedilo_post(file=None): # noqa: E501 def datoteka_v_besedilo_post(file=None): # noqa: E501
"""Pretvori datoteko formata pdf, doc, docx, ppt, xls,... v besedilo """Pretvori datoteko formata pdf, doc, docx, ppt, xls,... v besedilo
@@ -21,25 +28,33 @@ def datoteka_v_besedilo_post(file=None): # noqa: E501
:rtype: str :rtype: str
""" """
#zakaj ? tika server se požene zraven v dodatnem containerju in se datoteka samo pošlje tja, nazaj pa se dobi čisto besedilo...
#tika ima rest api
if file is None: if file is None:
return "No file provided", 400 return "No file provided", 400
try:
tika_server="http://tika:9998/tika" response = requests.put(tika_server, data=file)
response=requests.post(tika_server, data=file) return response.text, 200
return response.text, 200 except Exception as e:
return str(e), 500
def get_text_ocr(file=None): # noqa: E501 def get_text_ocr(file=None):
"""Pretvori datoteko formata pdf, doc, docx, ppt, xls,... v besedilo s pomočjo ocr razpoznavanja
# noqa: E501
:param file:
:type file: strstr
:rtype: str
"""
if file is None: if file is None:
return "No file provided", 400 return "No file provided", 400
try:
tika_server="http://tika:9998/tika" response = requests.put(tika_server, data=file,
#za ocr se zraven samo doda header headers={"X-Tika-PDFOcrStrategy": "ocr_only", "X-Tika-OCRLanguage": "slv+eng"})
response=requests.post(tika_server, data=file,headers={"X-Tika-PDFOcrStrategy":"ocr_only","X-Tika-OCRLanguage":"slv+eng"}) return response.text, 200
return response.text, 200 except Exception as e:
return str(e), 500
@@ -19,53 +19,52 @@ def get_candidates(body): # noqa: E501
if connexion.request.is_json: if connexion.request.is_json:
body = IzlusciBody.from_dict(connexion.request.get_json()) # noqa: E501 body = IzlusciBody.from_dict(connexion.request.get_json()) # noqa: E501
data = {
data={ "terminoloski_kandidati": [
terminoloski_kandidati:[ {
{
"POSoznake": "Ncmsn", "POSoznake": "Ncmsn",
"kandidat": "vpliv", "kandidat": "vpliv",
"kanonicnaoblika": "vpliv", "kanonicnaoblika": "vpliv",
"nosilnautez": 0.8008282, "nosilnautez": 0.8008282,
"podporneutezi": [ "podporneutezi": [
6.0274563, 6.0274563,
6.0274563 6.0274563
], ],
"pogostostpojavljanja": [101,71] "pogostostpojavljanja": [101, 71]
}, },
{ {
"POSoznake": "Agpnsg Ncnsg", "POSoznake": "Agpnsg Ncnsg",
"kandidat": "bivalen okolje", "kandidat": "bivalen okolje",
"kanonicnaoblika": "bivalno okolje", "kanonicnaoblika": "bivalno okolje",
"nosilnautez": 0.60254, "nosilnautez": 0.60254,
"podporneutezi": [ "podporneutezi": [
3.263, 3.263,
2.134 2.134
], ],
"pogostostpojavljanja": [27,11] "pogostostpojavljanja": [27, 11]
}, },
{ {
"POSoznake": "Agpmsny Ncmsn Ncmpg", "POSoznake": "Agpmsny Ncmsn Ncmpg",
"kandidat": "motorični status otrok", "kandidat": "motorični status otrok",
"kanonicnaoblika": "motorični status otrok", "kanonicnaoblika": "motorični status otrok",
"nosilnautez": 0.3324, "nosilnautez": 0.3324,
"podporneutezi": [ "podporneutezi": [
1.221, 1.221,
3.323 3.323
], ],
"pogostostpojavljanja": [31,51] "pogostostpojavljanja": [31, 51]
}, },
{ {
"POSoznake": "Agpnsn Ncnsn", "POSoznake": "Agpnsn Ncnsn",
"kandidat": "diplomsko delo", "kandidat": "diplomsko delo",
"kanonicnaoblika": "diplomsko delo", "kanonicnaoblika": "diplomsko delo",
"nosilnautez": 0.2008282, "nosilnautez": 0.2008282,
"podporneutezi": [ "podporneutezi": [
0.883, 0.883,
1.02 1.02
], ],
"pogostostpojavljanja": [1241,111] "pogostostpojavljanja": [1241, 111]
} }
] ]
} }
return data return data
+261 -253
View File
@@ -3,33 +3,33 @@ info:
title: OpenAPI definition title: OpenAPI definition
version: v0 version: v0
servers: servers:
- url: http://localhost:8089 - url: http://localhost:8089
description: Generated server url description: Generated server url
paths: paths:
/job/{job_id}: /job/{job_id}:
get: get:
tags: tags:
- jobs - jobs
summary: Vrne status summary: Vrne status
operationId: get_job_status operationId: get_job_status
parameters: parameters:
- name: job_id - name: job_id
in: path in: path
required: true required: true
style: simple style: simple
explode: false explode: false
schema: schema:
type: integer type: integer
format: int64 format: int64
- name: show_estimated_completion - name: show_estimated_completion
in: query in: query
description: Calculate estimate time remaining based on various factors (could description: Calculate estimate time remaining based on various factors (could
be inaccurate) be inaccurate)
required: false required: false
style: form style: form
explode: true explode: true
schema: schema:
type: boolean type: boolean
responses: responses:
"200": "200":
description: OK description: OK
@@ -41,7 +41,7 @@ paths:
/oznaciBesedilo: /oznaciBesedilo:
post: post:
tags: tags:
- marktext - marktext
summary: Označi besedilo s classlo/stanzo z uporabo slovenskih modelov ter vrne summary: Označi besedilo s classlo/stanzo z uporabo slovenskih modelov ter vrne
conll-u format conll-u format
operationId: get_text operationId: get_text
@@ -63,7 +63,7 @@ paths:
/izlusci: /izlusci:
post: post:
tags: tags:
- extract - extract
summary: Izlusci terminološke kandidate iz seznama besedil v conllu obliki summary: Izlusci terminološke kandidate iz seznama besedil v conllu obliki
operationId: get_candidates operationId: get_candidates
requestBody: requestBody:
@@ -86,7 +86,7 @@ paths:
/datotekaVBesedilo/ocr: /datotekaVBesedilo/ocr:
post: post:
tags: tags:
- doc-2text - doc-2text
summary: "Pretvori datoteko formata pdf, doc, docx, ppt, xls,... v besedilo\ summary: "Pretvori datoteko formata pdf, doc, docx, ppt, xls,... v besedilo\
\ s pomočjo ocr razpoznavanja" \ s pomočjo ocr razpoznavanja"
operationId: get_text_ocr operationId: get_text_ocr
@@ -107,7 +107,7 @@ paths:
/datotekaVBesedilo/: /datotekaVBesedilo/:
post: post:
tags: tags:
- doc-2text - doc-2text
summary: "Pretvori datoteko formata pdf, doc, docx, ppt, xls,... v besedilo" summary: "Pretvori datoteko formata pdf, doc, docx, ppt, xls,... v besedilo"
operationId: datoteka_v_besedilo_post operationId: datoteka_v_besedilo_post
requestBody: requestBody:
@@ -127,48 +127,48 @@ paths:
/oss/steviloBesedilPoIskanju: /oss/steviloBesedilPoIskanju:
get: get:
tags: tags:
- oss - oss
summary: Vrne število besedil glede na iskalne pogoje summary: Vrne število besedil glede na iskalne pogoje
operationId: get_number_texts operationId: get_number_texts
parameters: parameters:
- name: leta - name: leta
in: query in: query
required: true required: true
style: form style: form
explode: true explode: true
schema: schema:
type: array type: array
items: items:
type: integer type: integer
format: int64 format: int64
- name: vrste - name: vrste
in: query in: query
required: true required: true
style: form style: form
explode: true explode: true
schema: schema:
type: array type: array
items: items:
type: string type: string
- name: kljucnebesede - name: kljucnebesede
in: query in: query
required: true required: true
style: form style: form
explode: true explode: true
schema: schema:
type: array type: array
items: items:
type: string type: string
- name: cerifpodrocja - name: cerifpodrocja
in: query in: query
required: true required: true
style: form style: form
explode: true explode: true
schema: schema:
type: array type: array
items: items:
type: integer type: integer
format: int64 format: int64
responses: responses:
"200": "200":
description: OK description: OK
@@ -182,48 +182,48 @@ paths:
/oss/izlusciPoIskanju: /oss/izlusciPoIskanju:
get: get:
tags: tags:
- oss - oss
summary: 'Vrne terminloške kandidate glede na ' summary: 'Vrne terminloške kandidate glede na '
operationId: get_extracted_words operationId: get_extracted_words
parameters: parameters:
- name: leta - name: leta
in: query in: query
required: true required: true
style: form style: form
explode: true explode: true
schema: schema:
type: array type: array
items: items:
type: integer type: integer
format: int64 format: int64
- name: vrste - name: vrste
in: query in: query
required: true required: true
style: form style: form
explode: true explode: true
schema: schema:
type: array type: array
items: items:
type: string type: string
- name: kljucnebesede - name: kljucnebesede
in: query in: query
required: true required: true
style: form style: form
explode: true explode: true
schema: schema:
type: array type: array
items: items:
type: string type: string
- name: cerifpodrocja - name: cerifpodrocja
in: query in: query
required: true required: true
style: form style: form
explode: true explode: true
schema: schema:
type: array type: array
items: items:
type: integer type: integer
format: int64 format: int64
responses: responses:
"200": "200":
description: OK description: OK
@@ -238,49 +238,49 @@ paths:
/oss/datotekePoIskanju: /oss/datotekePoIskanju:
get: get:
tags: tags:
- oss - oss
summary: Vrne seznam binarnih zapisov v originalnem formatu glede na iskalne summary: Vrne seznam binarnih zapisov v originalnem formatu glede na iskalne
pogoje pogoje
operationId: get_files operationId: get_files
parameters: parameters:
- name: leta - name: leta
in: query in: query
required: true required: true
style: form style: form
explode: true explode: true
schema: schema:
type: array type: array
items: items:
type: integer type: integer
format: int64 format: int64
- name: vrste - name: vrste
in: query in: query
required: true required: true
style: form style: form
explode: true explode: true
schema: schema:
type: array type: array
items: items:
type: string type: string
- name: kljucnebesede - name: kljucnebesede
in: query in: query
required: true required: true
style: form style: form
explode: true explode: true
schema: schema:
type: array type: array
items: items:
type: string type: string
- name: cerifpodrocja - name: cerifpodrocja
in: query in: query
required: true required: true
style: form style: form
explode: true explode: true
schema: schema:
type: array type: array
items: items:
type: integer type: integer
format: int64 format: int64
responses: responses:
"200": "200":
description: OK description: OK
@@ -298,18 +298,18 @@ paths:
/oss/datotekaPoId: /oss/datotekaPoId:
get: get:
tags: tags:
- oss - oss
summary: Vrne binarni zapis v originalnem formatu po id-ju datoteke summary: Vrne binarni zapis v originalnem formatu po id-ju datoteke
operationId: get_file operationId: get_file
parameters: parameters:
- name: file_id - name: file_id
in: query in: query
required: true required: true
style: form style: form
explode: true explode: true
schema: schema:
type: integer type: integer
format: int64 format: int64
responses: responses:
"200": "200":
description: OK description: OK
@@ -325,48 +325,48 @@ paths:
/oss/conlluPoIskanju: /oss/conlluPoIskanju:
get: get:
tags: tags:
- oss - oss
summary: Vrne seznam CoNNL-U-jev glede na iskalne pogoje summary: Vrne seznam CoNNL-U-jev glede na iskalne pogoje
operationId: get_conllus operationId: get_conllus
parameters: parameters:
- name: leta - name: leta
in: query in: query
required: true required: true
style: form style: form
explode: true explode: true
schema: schema:
type: array type: array
items: items:
type: integer type: integer
format: int64 format: int64
- name: vrste - name: vrste
in: query in: query
required: true required: true
style: form style: form
explode: true explode: true
schema: schema:
type: array type: array
items: items:
type: string type: string
- name: kljucnebesede - name: kljucnebesede
in: query in: query
required: true required: true
style: form style: form
explode: true explode: true
schema: schema:
type: array type: array
items: items:
type: string type: string
- name: cerifpodrocja - name: cerifpodrocja
in: query in: query
required: true required: true
style: form style: form
explode: true explode: true
schema: schema:
type: array type: array
items: items:
type: integer type: integer
format: int64 format: int64
responses: responses:
"200": "200":
description: OK description: OK
@@ -381,18 +381,18 @@ paths:
/oss/conlluPoId: /oss/conlluPoId:
get: get:
tags: tags:
- oss - oss
summary: Vrne CoNNL-U po id-ju datoteke summary: Vrne CoNNL-U po id-ju datoteke
operationId: get_conllu operationId: get_conllu
parameters: parameters:
- name: file_id - name: file_id
in: query in: query
required: true required: true
style: form style: form
explode: true explode: true
schema: schema:
type: integer type: integer
format: int64 format: int64
responses: responses:
"200": "200":
description: OK description: OK
@@ -405,18 +405,18 @@ paths:
/oss/besediloPoId: /oss/besediloPoId:
get: get:
tags: tags:
- oss - oss
summary: Vrne besedilo po id-ju datoteke summary: Vrne besedilo po id-ju datoteke
operationId: oss_besedilo_po_id_get operationId: oss_besedilo_po_id_get
parameters: parameters:
- name: file_id - name: file_id
in: query in: query
required: true required: true
style: form style: form
explode: true explode: true
schema: schema:
type: integer type: integer
format: int64 format: int64
responses: responses:
"200": "200":
description: OK description: OK
@@ -429,48 +429,48 @@ paths:
/oss/besedilaPoIskanju: /oss/besedilaPoIskanju:
get: get:
tags: tags:
- oss - oss
summary: Vrne seznam besedil glede na iskalne pogoje summary: Vrne seznam besedil glede na iskalne pogoje
operationId: get_texts operationId: get_texts
parameters: parameters:
- name: leta - name: leta
in: query in: query
required: true required: true
style: form style: form
explode: true explode: true
schema: schema:
type: array type: array
items: items:
type: integer type: integer
format: int64 format: int64
- name: vrste - name: vrste
in: query in: query
required: true required: true
style: form style: form
explode: true explode: true
schema: schema:
type: array type: array
items: items:
type: string type: string
- name: kljucnebesede - name: kljucnebesede
in: query in: query
required: true required: true
style: form style: form
explode: true explode: true
schema: schema:
type: array type: array
items: items:
type: string type: string
- name: cerifpodrocja - name: cerifpodrocja
in: query in: query
required: true required: true
style: form style: form
explode: true explode: true
schema: schema:
type: array type: array
items: items:
type: integer type: integer
format: int64 format: int64
responses: responses:
"200": "200":
description: OK description: OK
@@ -508,18 +508,18 @@ components:
format: int64 format: int64
example: example:
podporneutezi: podporneutezi:
- 6.0274563 - 6.0274563
- 6.0274563 - 6.0274563
pogostostpojavljanja: pogostostpojavljanja:
- 1 - 1
- 1 - 1
POSoznake: POSoznake POSoznake: POSoznake
kanonicnaoblika: kanonicnaoblika kanonicnaoblika: kanonicnaoblika
nosilnautez: 0.8008282 nosilnautez: 0.8008282
kandidat: kandidat kandidat: kandidat
JobResponse: JobResponse:
required: required:
- finished_job - finished_job
type: object type: object
properties: properties:
finished_job: finished_job:
@@ -555,7 +555,7 @@ components:
type: string type: string
datotekaVBesedilo_ocr_body: datotekaVBesedilo_ocr_body:
required: required:
- file - file
type: object type: object
properties: properties:
file: file:
@@ -563,7 +563,15 @@ components:
format: binary format: binary
datotekaVBesedilo_body: datotekaVBesedilo_body:
required: required:
- file - file
type: object
properties:
file:
type: string
format: binary
datotekaVBesediloSync_body:
required:
- file
type: object type: object
properties: properties:
file: file: