Update app.py
Browse files
app.py
CHANGED
@@ -9,17 +9,11 @@ from xhtml2pdf import pisa
|
|
9 |
from datetime import datetime
|
10 |
import openai
|
11 |
import logging
|
12 |
-
import
|
13 |
-
from datetime import datetime
|
14 |
|
15 |
app = Flask(__name__)
|
16 |
|
17 |
-
|
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
|
|
|
|
|
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()
|
|
|
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 = {
|