DavidSB fschwartzer commited on
Commit
bab4c4c
1 Parent(s): b675e1a

Update app.py (#2)

Browse files

- Update app.py (e493d5c0041f5c57340d2559f04ab79edd6fb8a7)


Co-authored-by: Fernando Schwartzer <fschwartzer@users.noreply.huggingface.co>

Files changed (1) hide show
  1. app.py +34 -2
app.py CHANGED
@@ -5,6 +5,33 @@ import gradio as gr
5
  from gradio import components
6
  from gradio import Interface
7
  import xlsxwriter
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
 
9
  def renderizar_dataframe(df):
10
  try:
@@ -444,8 +471,12 @@ def avaliacao_imovel(planilha, num_linhas_desejadas=10):
444
 
445
  #-----------------#
446
 
 
 
 
 
447
  # Retorna tanto a planilha quanto os resultados formatados
448
- return 'relatório.xlsx', result_render, resultados_formatados, intervalo_confiança, valores_finais
449
 
450
 
451
  # Interface do Gradio com input como arquivo XLS ou XLSX
@@ -457,6 +488,7 @@ interface = gr.Interface(
457
  ],
458
  outputs=[
459
  gr.components.File(label="Download planilha"),
 
460
  gr.outputs.HTML(label="Resultado Renderizado"),
461
  gr.components.Textbox(label="Resultados estatísticos"),
462
  gr.components.Textbox(label="Intervalo de confiança de 80%"),
@@ -471,4 +503,4 @@ interface = gr.Interface(
471
 
472
  # Executar o aplicativo Gradio
473
  if __name__ == "__main__":
474
- interface.launch()
 
5
  from gradio import components
6
  from gradio import Interface
7
  import xlsxwriter
8
+ from reportlab.lib.pagesizes import letter
9
+ from reportlab.platypus import SimpleDocTemplate, Paragraph
10
+ from reportlab.lib.styles import getSampleStyleSheet
11
+ import shutil
12
+
13
+ # Function to save results in a PDF file
14
+ def save_results_to_pdf(results_formatados, intervalo_confiança, valores_finais):
15
+ doc = SimpleDocTemplate("resultados.pdf", pagesize=letter)
16
+ styles = getSampleStyleSheet()
17
+
18
+ # Create a list of elements to include in the PDF
19
+ elements = []
20
+
21
+ # Add the formatted results to the PDF
22
+ formatted_results = Paragraph(results_formatados, styles["Normal"])
23
+ elements.append(formatted_results)
24
+
25
+ # Add the intervalo de confianca to the PDF
26
+ confianca = Paragraph(intervalo_confiança, styles["Normal"])
27
+ elements.append(confianca)
28
+
29
+ # Add the valores calculados to the PDF
30
+ calculados = Paragraph(valores_finais, styles["Normal"])
31
+ elements.append(calculados)
32
+
33
+ # Build the PDF
34
+ doc.build(elements)
35
 
36
  def renderizar_dataframe(df):
37
  try:
 
471
 
472
  #-----------------#
473
 
474
+ save_results_to_pdf(resultados_formatados, intervalo_confiança, valores_finais)
475
+
476
+ #-----------------#
477
+
478
  # Retorna tanto a planilha quanto os resultados formatados
479
+ return 'relatório.xlsx', 'resultados.pdf', result_render, resultados_formatados, intervalo_confiança, valores_finais
480
 
481
 
482
  # Interface do Gradio com input como arquivo XLS ou XLSX
 
488
  ],
489
  outputs=[
490
  gr.components.File(label="Download planilha"),
491
+ gr.components.File(label="Download Relatório em PDF"),
492
  gr.outputs.HTML(label="Resultado Renderizado"),
493
  gr.components.Textbox(label="Resultados estatísticos"),
494
  gr.components.Textbox(label="Intervalo de confiança de 80%"),
 
503
 
504
  # Executar o aplicativo Gradio
505
  if __name__ == "__main__":
506
+ interface.launch(debug=True)