Spaces:
Running
Running
import gradio as gr | |
import PyPDF2 | |
def extrair_texto_pdf(): | |
with open("dados-cdu.pdf", "rb") as pdf_file: | |
pdf_reader = PyPDF2.PdfReader(pdf_file) | |
text = "" | |
for page in pdf_reader.pages: | |
text += page.extract_text() | |
return text | |
def consultar_cdu(palavra_chave): | |
texto_base = extrair_texto_pdf() | |
palavras_chave_encontradas = [] | |
linhas = texto_base.split("\n") | |
for linha in linhas: | |
if palavra_chave.lower() in linha.lower(): | |
palavras_chave_encontradas.append(linha) | |
return palavras_chave_encontradas | |
def gerar_cdu(palavras_chave): | |
palavras_chave = [palavra.strip() for palavra in palavras_chave.split(";")] | |
resultados = {} | |
for palavra_chave in palavras_chave: | |
cdu_encontrada = consultar_cdu(palavra_chave) | |
resultados[palavra_chave] = cdu_encontrada | |
return resultados | |
# Interface Gradio | |
input_text = gr.Textbox(label="Inserir o assunto desejado (Geografia cultural)") | |
button_label = "Gerar CDU" | |
output_text = gr.Textbox(label="Resultados CDU") | |
def generate_cdu(palavras_chave): | |
if palavras_chave: | |
resultados = gerar_cdu(palavras_chave) | |
if len(resultados) > 0: | |
return resultados | |
else: | |
return {"Nada encontrado. Tente outro termo"} | |
else: | |
return {} | |
title = "Gerador de CDU" | |
description = "Bem-vindo ao Gerador de Classificação Decimal Universal (CDU).<br/>Insira o assunto da obra e clique em 'ENVIAR' para obter a classificação CDU relacionada." | |
gr.Interface(fn=generate_cdu, inputs=input_text, outputs=output_text, title=title, description=description).launch() | |