gerador-cdu / app.py
itacaiunas's picture
Update app.py
92bf3c0
raw
history blame
No virus
1.66 kB
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.inputs.Textbox(label="Inserir o assunto desejado (Geografia cultural)")
button_label = "Gerar CDU"
output_text = gr.outputs.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()