textia / core /controller.py
coder160's picture
remove auth
5ab3c38
raw
history blame
1.92 kB
from transformers import pipeline
import streamlit as BaseBuilder
import requests as REQS
import bs4 as BS4
class WebHandler:
__raw = None
def __init__(self, url:str):
self.__source=url
def get_source(self):
return self.__source
def get_raw(self):
return self.__raw
def is_ok(self):
return True if self.get_raw() else False
def __enter__(self):
try:
self.__raw = BS4.BeautifulSoup(REQS.get(self.get_source()).content, "html.parser")
except Exception as er:
print(er)
finally:
return self
def __exit__(self, *args):
[print(e) for e in args if e is not None]
class Generator:
def get_bloques(texto:str,s=1500):
_bloques = list()
_t = str(texto)
if len(_t)>s:
_ = int(len(_t)/2)
_ts = [_t[n:n+_] for n in range(0,len(_t),_)]
for m in [0,1]:
_np = [nt for nt in Generator.get_bloques(texto=_ts[m],s=s)]
_bloques+=_np
else:
_bloques.append(_t)
return _bloques
def traducir(texto:str):
pipe = pipeline("text2text-generation", model="Helsinki-NLP/opus-mt-en-es")
_traduccion = pipe(texto)[0]
return _traduccion.get('generated_text')
def resumir(texto:str):
pipe = pipeline("text2text-generation", model="facebook/bart-large-cnn")
_resumen = pipe(texto)[0]
return _resumen.get('generated_text')
class Page():
def __init__(self, title:str, icon:str=None):
self.__ = BaseBuilder
self.__.set_page_config(page_title=title, page_icon=icon)
self.__.title(f"# {icon} {title}")
self.__body = self.__.container()
def page(self):
return self.__
def get_body(self):
return self.__body
def set_global(self, key:str, value):
self.page().session_state[key] = value
def get_global(self,key:str,default=None):
return self.page().session_state.get(key, default)