coder160/cpu_machine_learner
0
1class Demos:2 def __init__(self):3 from fastapi import FastAPI, HTTPException, Response4 self.api = FastAPI5 self.exception = HTTPException6 self.api_response = Response7 def validate_apikey(self,api_key)->bool:8 __validation = True9 return __validation10 @staticmethod11 def obtener_texto(from_url:str=None,from_pdf:str=None)->str:12 """Obtiene texto a partir de una fuente de información: desde url o desde pdf.13 14 args:15 from_url (str) : Url desde la que se desea obtener información.16 from_pdf (str) : Pdf desde el que se desea obtener información.17 return:18 _texto (str) : Texto extraído desde la fuente dada.19 """20 from api.core.controllers.extractor import TextFromURL21 if from_url:22 with TextFromURL(url=from_url) as web_content:23 _texto = web_content.get_raw().get_text() if web_content.is_ok() else web_content.get_error()24 elif from_pdf:25 _texto = str("PDF")26 else:27 _texto = str("Ninguna opción seleccionada")28 return _texto29 @staticmethod30 def generar_bloques(texto:str=None,size:int=1500)->list:31 """Genera bloques de texto de longitud S, a partir de un texto plano.32 33 args:34 texto (str) : Texto para generar bloques.35 s (int) : Longitud de los bloques de texto, default 1500 caracteres.36 return:37 _bloques (list) : Lista de bloques de textos de longitud s.38 """39 from api.core.controllers.handlers import Generator40 _bloques = Generator.get_bloques(from_text=texto,size=size)41 return _bloques42 @staticmethod43 def traducir(texto:str=None, idioma:str="EN/ES")->str:44 """Genera una traducción del texto dado.45 46 args:47 texto (str) : Texto para traducir48 idioma (str) : Idioma, default "EN/ES"49 return:50 _traduccion (str) : Traducción del texto51 """52 from api.core.controllers.text2text import Traductor53 _traduccion = str()54 if "EN/ES" in idioma.upper():55 _traduccion = Traductor.EN_ES(texto=texto)56 elif "ES/EN" in idioma.upper():57 _traduccion = Traductor.ES_EN(texto=texto)58 elif "AR/ES" in idioma.upper():59 _traduccion = Traductor.AR_ES(texto=texto)60 else:61 _traduccion = "Idioma no válido"62 return _traduccion63 @staticmethod64 def resumir(texto:str=None)->str:65 """Genera un resumen del texto dado.66 67 args:68 texto (str) : Texto para generar resumen69 return:70 _resumen (str) : Resumen generado71 """72 from api.core.controllers.text2text import Abstractor73 _resumen = Abstractor.resumen(texto=texto)74 return _resumen