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