From 7682cd0e0a4b124529882b11ff4708713c05076f Mon Sep 17 00:00:00 2001 From: Kikimanox Date: Wed, 19 Oct 2022 10:39:30 +0200 Subject: [PATCH] popravljen json, swagger, oss_controller, da se ujema z novo strukturo zahtev --- rsdo5.json | 153 ++++++++++++++----- swagger_server/controllers/oss_controller.py | 80 ++++++---- swagger_server/swagger/swagger.yaml | 136 ++++++++++++----- 3 files changed, 255 insertions(+), 114 deletions(-) diff --git a/rsdo5.json b/rsdo5.json index 57babd8..3fefbba 100644 --- a/rsdo5.json +++ b/rsdo5.json @@ -524,7 +524,7 @@ { "name": "leta", "in": "query", - "required": true, + "required": false, "schema": { "type": "array", "items": { @@ -536,18 +536,19 @@ { "name": "vrste", "in": "query", - "required": true, + "required": false, "schema": { "type": "array", "items": { - "type": "string" + "type": "integer", + "format": "int64" } } }, { "name": "kljucnebesede", "in": "query", - "required": true, + "required": false, "schema": { "type": "array", "items": { @@ -556,14 +557,13 @@ } }, { - "name": "cerifpodrocja", + "name": "udk", "in": "query", - "required": true, + "required": false, "schema": { "type": "array", "items": { - "type": "integer", - "format": "int64" + "type": "string" } } } @@ -588,13 +588,13 @@ "tags": [ "oss" ], - "summary": "Vrne terminloške kandidate glede na ", + "summary": "Vrne terminloške kandidate glede na ... (sync)", "operationId": "getExtractedWords", "parameters": [ { "name": "leta", "in": "query", - "required": true, + "required": false, "schema": { "type": "array", "items": { @@ -606,18 +606,19 @@ { "name": "vrste", "in": "query", - "required": true, + "required": false, "schema": { "type": "array", "items": { - "type": "string" + "type": "integer", + "format": "int64" } } }, { "name": "kljucnebesede", "in": "query", - "required": true, + "required": false, "schema": { "type": "array", "items": { @@ -626,14 +627,13 @@ } }, { - "name": "cerifpodrocja", + "name": "udk", "in": "query", - "required": true, + "required": false, "schema": { "type": "array", "items": { - "type": "integer", - "format": "int64" + "type": "string" } } } @@ -655,18 +655,18 @@ } } }, - "/oss/datotekePoIskanju": { + "/oss/izlusciPoIskanjuAsync": { "get": { "tags": [ "oss" ], - "summary": "Vrne seznam binarnih zapisov v originalnem formatu glede na iskalne pogoje", - "operationId": "getFiles", + "summary": "Vrne terminloške kandidate glede na ... (async)", + "operationId": "getExtractedWordsAsync", "parameters": [ { "name": "leta", "in": "query", - "required": true, + "required": false, "schema": { "type": "array", "items": { @@ -678,18 +678,19 @@ { "name": "vrste", "in": "query", - "required": true, + "required": false, "schema": { "type": "array", "items": { - "type": "string" + "type": "integer", + "format": "int64" } } }, { "name": "kljucnebesede", "in": "query", - "required": true, + "required": false, "schema": { "type": "array", "items": { @@ -698,9 +699,43 @@ } }, { - "name": "cerifpodrocja", + "name": "udk", "in": "query", - "required": true, + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "*/*": { + "schema": { + "type": "string" + } + } + } + } + } + } + }, + "/oss/datotekePoIskanju": { + "get": { + "tags": [ + "oss" + ], + "summary": "Vrne seznam binarnih zapisov v originalnem formatu glede na iskalne pogoje", + "operationId": "getFiles", + "parameters": [ + { + "name": "leta", + "in": "query", + "required": false, "schema": { "type": "array", "items": { @@ -708,6 +743,40 @@ "format": "int64" } } + }, + { + "name": "vrste", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "integer", + "format": "int64" + } + } + }, + { + "name": "kljucnebesede", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "udk", + "in": "query", + "required": false, + "schema": { + "type": "array", + "items": { + "type": "string" + } + } } ], "responses": { @@ -778,7 +847,7 @@ { "name": "leta", "in": "query", - "required": true, + "required": false, "schema": { "type": "array", "items": { @@ -790,18 +859,19 @@ { "name": "vrste", "in": "query", - "required": true, + "required": false, "schema": { "type": "array", "items": { - "type": "string" + "type": "integer", + "format": "int64" } } }, { "name": "kljucnebesede", "in": "query", - "required": true, + "required": false, "schema": { "type": "array", "items": { @@ -810,14 +880,13 @@ } }, { - "name": "cerifpodrocja", + "name": "udk", "in": "query", - "required": true, + "required": false, "schema": { "type": "array", "items": { - "type": "integer", - "format": "int64" + "type": "string" } } } @@ -913,7 +982,7 @@ { "name": "leta", "in": "query", - "required": true, + "required": false, "schema": { "type": "array", "items": { @@ -925,18 +994,19 @@ { "name": "vrste", "in": "query", - "required": true, + "required": false, "schema": { "type": "array", "items": { - "type": "string" + "type": "integer", + "format": "int64" } } }, { "name": "kljucnebesede", "in": "query", - "required": true, + "required": false, "schema": { "type": "array", "items": { @@ -945,14 +1015,13 @@ } }, { - "name": "cerifpodrocja", + "name": "udk", "in": "query", - "required": true, + "required": false, "schema": { "type": "array", "items": { - "type": "integer", - "format": "int64" + "type": "string" } } } diff --git a/swagger_server/controllers/oss_controller.py b/swagger_server/controllers/oss_controller.py index d2d56f5..02d7194 100644 --- a/swagger_server/controllers/oss_controller.py +++ b/swagger_server/controllers/oss_controller.py @@ -3,19 +3,19 @@ from swagger_server import util from flask import send_file -def get_conllus(leta, vrste, kljucnebesede, cerifpodrocja): # noqa: E501 - """Vrne seznam CoNNL-U-jev glede na iskalne pogoje +def get_conllus(leta=None, vrste=None, kljucnebesede=None, udk=None): # noqa: E501 + """"Vrne seznam CoNNL-U-jev glede na iskalne pogoje # noqa: E501 - :param leta: + :param leta: :type leta: List[int] - :param vrste: - :type vrste: List[str] - :param kljucnebesede: + :param vrste: + :type vrste: List[int] + :param kljucnebesede: :type kljucnebesede: List[str] - :param cerifpodrocja: - :type cerifpodrocja: List[int] + :param udk: + :type udk: List[str] :rtype: List[str] """ @@ -28,18 +28,18 @@ def get_conllus(leta, vrste, kljucnebesede, cerifpodrocja): # noqa: E501 def get_extracted_words(leta=None, vrste=None, kljucnebesede=None, udk=None): # noqa: E501 - """Vrne terminloške kandidate glede na + """Vrne terminloške kandidate glede na ... (sync) # noqa: E501 - :param leta: + :param leta: :type leta: List[int] - :param vrste: - :type vrste: List[str] - :param kljucnebesede: + :param vrste: + :type vrste: List[int] + :param kljucnebesede: :type kljucnebesede: List[str] - :param cerifpodrocja: - :type cerifpodrocja: List[int] + :param udk: + :type udk: List[str] :rtype: List[TerminoloskiKandidat] """ @@ -47,8 +47,26 @@ def get_extracted_words(leta=None, vrste=None, kljucnebesede=None, udk=None): # return files, 200 +def get_extracted_words_async(leta=None, vrste=None, kljucnebesede=None, udk=None): # noqa: E501 + """Vrne terminloške kandidate glede na ... (async) -def get_files(leta, vrste, kljucnebesede, cerifpodrocja): # noqa: E501 + # noqa: E501 + + :param leta: + :type leta: List[int] + :param vrste: + :type vrste: List[int] + :param kljucnebesede: + :type kljucnebesede: List[str] + :param udk: + :type udk: List[str] + + :rtype: str + """ + return 'do some magic!' + + +def get_files(leta=None, vrste=None, kljucnebesede=None, udk=None): # noqa: E501 """Vrne seznam binarnih zapisov v originalnem formatu glede na iskalne pogoje # noqa: E501 @@ -56,13 +74,13 @@ def get_files(leta, vrste, kljucnebesede, cerifpodrocja): # noqa: E501 :param leta: :type leta: List[int] :param vrste: - :type vrste: List[str] - :param kljucnebesede: + :type vrste: List[int] + :param kljucnebesede: :type kljucnebesede: List[str] - :param cerifpodrocja: - :type cerifpodrocja: List[int] + :param udk: + :type udk: List[str] - :rtype: List[List[bytearray]] + :rtype: str """ if not kljucnebesede: return "Manjkajo kljucne besede", 400 @@ -80,15 +98,15 @@ def get_number_texts(leta=None, vrste=None, kljucnebesede=None, udk=None): # no :param leta: :type leta: List[int] :param vrste: - :type vrste: List[str] - :param kljucnebesede: + :type vrste: List[int] + :param kljucnebesede: :type kljucnebesede: List[str] - :param cerifpodrocja: - :type udc: List[int] + :param udk: + :type udk: List[str] :rtype: int """ - #if not kljucnebesede: + # if not kljucnebesede: # return "Manjkajo kljucne besede", 400 files = db_utils.vrni_oss_dokumente(leta, vrste, kljucnebesede, udk) @@ -103,11 +121,11 @@ def get_texts(leta, vrste, kljucnebesede, cerifpodrocja): # noqa: E501 :param leta: :type leta: List[int] :param vrste: - :type vrste: List[str] - :param kljucnebesede: + :type vrste: List[int] + :param kljucnebesede: :type kljucnebesede: List[str] - :param cerifpodrocja: - :type cerifpodrocja: List[int] + :param udk: + :type udk: List[str] :rtype: List[str] """ @@ -163,7 +181,7 @@ def oss_besedilo_po_id_get(file_id): # noqa: E501 """ try: f = util.get_original_file_path_by_id(file_id) - print(f) # for debugging purposes on the server, delete this later + print(f) # for debugging purposes on the server, delete this later return send_file(util.get_original_file_path_by_id(file_id), download_name=f'{file_id}.xml') except FileNotFoundError as e: return "The file with this ID doesn't exist.", 404 diff --git a/swagger_server/swagger/swagger.yaml b/swagger_server/swagger/swagger.yaml index 6966b1b..0c003e4 100644 --- a/swagger_server/swagger/swagger.yaml +++ b/swagger_server/swagger/swagger.yaml @@ -343,7 +343,7 @@ paths: get: tags: - oss - summary: 'Vrne terminloške kandidate glede na ' + summary: Vrne terminloške kandidate glede na ... (sync) operationId: get_extracted_words parameters: - name: leta @@ -395,6 +395,60 @@ paths: $ref: '#/components/schemas/TerminoloskiKandidat' x-content-type: '*/*' x-openapi-router-controller: swagger_server.controllers.oss_controller + /oss/izlusciPoIskanjuAsync: + get: + tags: + - oss + summary: Vrne terminloške kandidate glede na ... (async) + operationId: get_extracted_words_async + 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: string + x-content-type: '*/*' + x-openapi-router-controller: swagger_server.controllers.oss_controller /oss/datotekePoIskanju: get: tags: @@ -491,7 +545,7 @@ paths: parameters: - name: leta in: query - required: true + required: false style: form explode: true schema: @@ -501,25 +555,7 @@ paths: format: int64 - name: vrste in: query - required: true - style: form - explode: true - schema: - type: array - items: - type: string - - name: kljucnebesede - in: query - required: true - style: form - explode: true - schema: - type: array - items: - type: string - - name: cerifpodrocja - in: query - required: true + required: false style: form explode: true schema: @@ -527,6 +563,24 @@ paths: 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 @@ -595,7 +649,7 @@ paths: parameters: - name: leta in: query - required: true + required: false style: form explode: true schema: @@ -605,25 +659,7 @@ paths: format: int64 - name: vrste in: query - required: true - style: form - explode: true - schema: - type: array - items: - type: string - - name: kljucnebesede - in: query - required: true - style: form - explode: true - schema: - type: array - items: - type: string - - name: cerifpodrocja - in: query - required: true + required: false style: form explode: true schema: @@ -631,6 +667,24 @@ paths: 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