|
|
from fastapi import FastAPI, Query, HTTPException, Request |
|
|
from typing import Optional |
|
|
from modules.language_processing.language_components import * |
|
|
|
|
|
|
|
|
from testing_env.api_key import Api_key |
|
|
|
|
|
from nltk import sent_tokenize |
|
|
import re |
|
|
import language_tool_python |
|
|
|
|
|
app = FastAPI() |
|
|
|
|
|
@app.get("/") |
|
|
async def root(): |
|
|
return {"message": "TxT-Jur API access"} |
|
|
|
|
|
@app.get("/check/{text}") |
|
|
async def read_text(text): |
|
|
try: |
|
|
splitter = LanguageComponentSplitter() |
|
|
sentences = splitter.split_sentences(text) |
|
|
utilities = Utilities() |
|
|
res = utilities.correct_json_sentence_split(sentences) |
|
|
return res |
|
|
except Exception as e: |
|
|
return str(e) |
|
|
|
|
|
|
|
|
@app.get("/correct/{text}") |
|
|
async def correct_text(text): |
|
|
try: |
|
|
splitter = LanguageComponentSplitter() |
|
|
sentences = splitter.split_sentences(text) |
|
|
utilities = Utilities() |
|
|
corrected_text = utilities.text_to_display(sentences) |
|
|
return corrected_text |
|
|
except Exception as e: |
|
|
return str(e) |
|
|
|
|
|
|
|
|
@app.get("/summarize_text", status_code=200) |
|
|
def summarize(text: Optional[str] = Query(None, title="Sentence", description = "The sentence to summarize")): |
|
|
id = 0 |
|
|
res = {} |
|
|
try: |
|
|
splitter = LanguageComponentSplitter() |
|
|
sentences = splitter.split_sentences(text) |
|
|
ort = Ortography_checker() |
|
|
for sentence in sentences: |
|
|
corrected_split = {'raw':sentence,'summarized':ort.check_spell(sentence)[1]} |
|
|
res[id] = corrected_split |
|
|
id += 1 |
|
|
return res |
|
|
except: |
|
|
return "not found" |
|
|
|