|
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) |