Persano commited on
Commit
35462f7
·
verified ·
1 Parent(s): c9cc1c7

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +13 -25
app.py CHANGED
@@ -9,17 +9,11 @@ from xhtml2pdf import pisa
9
  from datetime import datetime
10
  import openai
11
  import logging
12
- import locale
13
- from datetime import datetime
14
 
15
  app = Flask(__name__)
16
 
17
- # Setar locale para português do Brasil
18
- try:
19
- locale.setlocale(locale.LC_TIME, "pt_BR.UTF-8")
20
- except locale.Error:
21
- # fallback caso o locale não esteja instalado no servidor
22
- locale.setlocale(locale.LC_TIME, "pt_BR")
23
 
24
 
25
  # Configuração de logger
@@ -195,24 +189,17 @@ def index():
195
 
196
 
197
 
198
-
199
-
200
- import locale
 
 
201
  from datetime import datetime
 
202
 
203
  @app.route("/gerar-pdf", methods=["POST"])
204
  def gerar_pdf():
205
  try:
206
- # --- Configurar locale para português do Brasil (formatação de mês em pt)
207
- try:
208
- locale.setlocale(locale.LC_TIME, "pt_BR.UTF-8")
209
- except locale.Error:
210
- try:
211
- locale.setlocale(locale.LC_TIME, "pt_BR")
212
- except locale.Error:
213
- # Se falhar, continua com o locale padrão (possivelmente inglês)
214
- pass
215
-
216
  # --- Coleta e conversão dos dados do formulário
217
  capital = float(request.form["capital"])
218
  studio_ret = float(request.form["studio_ret"])
@@ -270,18 +257,19 @@ def gerar_pdf():
270
  buf.close()
271
  plt.close()
272
 
273
- # --- Formata a tabela (função formatar_brl deve estar definida)
274
  df_formatado = df.copy()
275
  for col in df.columns:
276
  if col != "Ano":
277
  df_formatado[col] = df_formatado[col].apply(formatar_brl)
278
  tabela_html = df_formatado.to_html(index=False, classes="tabela", border=0)
279
 
280
- # --- Geração da análise com IA (função gerar_analise_ia deve estar definida)
281
  analise_final_ia = gerar_analise_ia(investimentos_finais, capital, patrimonio_final)
282
 
283
- # --- Formatar data para português
284
- data_hoje = datetime.now().strftime("São Paulo, %d de %B de %Y")
 
285
 
286
  # --- Contexto para o PDF
287
  context = {
 
9
  from datetime import datetime
10
  import openai
11
  import logging
12
+ from babel.dates import format_date # precisa ter Babel instalado
 
13
 
14
  app = Flask(__name__)
15
 
16
+
 
 
 
 
 
17
 
18
 
19
  # Configuração de logger
 
189
 
190
 
191
 
192
+ from flask import request, send_file
193
+ import io
194
+ import base64
195
+ import matplotlib.pyplot as plt
196
+ import pandas as pd
197
  from datetime import datetime
198
+ from babel.dates import format_date # precisa ter Babel instalado
199
 
200
  @app.route("/gerar-pdf", methods=["POST"])
201
  def gerar_pdf():
202
  try:
 
 
 
 
 
 
 
 
 
 
203
  # --- Coleta e conversão dos dados do formulário
204
  capital = float(request.form["capital"])
205
  studio_ret = float(request.form["studio_ret"])
 
257
  buf.close()
258
  plt.close()
259
 
260
+ # --- Formata a tabela (a função formatar_brl deve estar definida)
261
  df_formatado = df.copy()
262
  for col in df.columns:
263
  if col != "Ano":
264
  df_formatado[col] = df_formatado[col].apply(formatar_brl)
265
  tabela_html = df_formatado.to_html(index=False, classes="tabela", border=0)
266
 
267
+ # --- Geração da análise com IA (a função gerar_analise_ia deve estar definida)
268
  analise_final_ia = gerar_analise_ia(investimentos_finais, capital, patrimonio_final)
269
 
270
+ # --- Formatar data para português usando Babel (sem depender do locale do sistema)
271
+ data_hoje = format_date(datetime.now(), "d 'de' MMMM 'de' yyyy", locale="pt_BR")
272
+ data_hoje = f"São Paulo, {data_hoje}"
273
 
274
  # --- Contexto para o PDF
275
  context = {