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)