File size: 1,919 Bytes
88c7280 5ab3c38 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
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) |