File size: 1,646 Bytes
efe1674
5447dec
efe1674
1f073b5
 
 
 
 
 
025996e
 
cf080e7
1f073b5
cf080e7
 
 
 
 
 
 
 
92bf3c0
f6541bc
cf080e7
 
0ec43db
76c9ebd
efe1674
 
63ff32e
e43ad01
63ff32e
efe1674
e43ad01
 
cf080e7
d1bbdab
 
 
 
efe1674
f6541bc
efe1674
3fa5477
d1bbdab
76c9ebd
0ec43db
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
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()