Update app.py
Browse files
app.py
CHANGED
|
@@ -69,14 +69,14 @@ def simplificar_dependente(nome):
|
|
| 69 |
}
|
| 70 |
return simplificacoes.get(nome, nome)
|
| 71 |
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
resultado = f"
|
| 75 |
for doc in documentos:
|
| 76 |
if doc == "DA EMPRESA:":
|
| 77 |
-
resultado += f"\
|
| 78 |
else:
|
| 79 |
-
resultado += f"- {doc}\n"
|
| 80 |
resultado += "\n" # Adiciona uma linha em branco para separar as seções
|
| 81 |
return resultado
|
| 82 |
|
|
@@ -96,8 +96,9 @@ def obter_documentos_dependente(dependente, nascido_2010):
|
|
| 96 |
|
| 97 |
return documentos
|
| 98 |
|
| 99 |
-
|
| 100 |
-
|
|
|
|
| 101 |
lista_completa = []
|
| 102 |
docs_carencia = obter_documentos_carencia()
|
| 103 |
|
|
@@ -121,9 +122,10 @@ def processar_documentos_markdown(titular_nascido_2010, categoria, modalidade, t
|
|
| 121 |
lista_completa.append((f"Dependente: {nome_simples}", docs_dep))
|
| 122 |
|
| 123 |
for nome, documentos in lista_completa:
|
| 124 |
-
|
| 125 |
|
| 126 |
-
|
|
|
|
| 127 |
|
| 128 |
def atualizar_lista_inclusos(titular_nascido_2010, categoria, modalidade, titular_carencia, dependentes_info):
|
| 129 |
lista_inclusos = []
|
|
@@ -205,15 +207,14 @@ def criar_interface():
|
|
| 205 |
btn_submit = gr.Button("🔍 Gerar Lista de Documentos", variant="primary")
|
| 206 |
|
| 207 |
with gr.Column():
|
| 208 |
-
#
|
| 209 |
output_textbox = gr.Textbox(
|
| 210 |
-
label="Documentos Necessários (
|
| 211 |
-
interactive=False,
|
| 212 |
-
lines=20, #
|
| 213 |
-
|
| 214 |
-
elem_id="documentos-output-textbox" # ID para o JS
|
| 215 |
)
|
| 216 |
-
btn_copiar = gr.Button("📋 Copiar Lista", visible=False)
|
| 217 |
status_copia = gr.Textbox(label="Status da Cópia", interactive=False, visible=False)
|
| 218 |
|
| 219 |
def atualizar_modalidades(categoria):
|
|
@@ -252,8 +253,9 @@ def criar_interface():
|
|
| 252 |
outputs=lista_inclusos
|
| 253 |
)
|
| 254 |
|
|
|
|
| 255 |
btn_submit.click(
|
| 256 |
-
|
| 257 |
inputs=[
|
| 258 |
titular_nascido_2010,
|
| 259 |
categoria,
|
|
@@ -261,12 +263,12 @@ def criar_interface():
|
|
| 261 |
titular_carencia,
|
| 262 |
dependentes_info
|
| 263 |
],
|
| 264 |
-
outputs=[output_textbox, btn_copiar]
|
| 265 |
)
|
| 266 |
|
| 267 |
btn_copiar.click(
|
| 268 |
-
None,
|
| 269 |
-
None,
|
| 270 |
status_copia,
|
| 271 |
js="""
|
| 272 |
async () => {
|
|
|
|
| 69 |
}
|
| 70 |
return simplificacoes.get(nome, nome)
|
| 71 |
|
| 72 |
+
# --- NOVA FUNÇÃO PARA FORMATAR APENAS PARA TEXTO PURO ---
|
| 73 |
+
def formatar_documentos_para_whatsapp(nome, documentos):
|
| 74 |
+
resultado = f"Documentos necessários para {nome}:\n"
|
| 75 |
for doc in documentos:
|
| 76 |
if doc == "DA EMPRESA:":
|
| 77 |
+
resultado += f"\nDA EMPRESA:\n"
|
| 78 |
else:
|
| 79 |
+
resultado += f"- {doc}\n"
|
| 80 |
resultado += "\n" # Adiciona uma linha em branco para separar as seções
|
| 81 |
return resultado
|
| 82 |
|
|
|
|
| 96 |
|
| 97 |
return documentos
|
| 98 |
|
| 99 |
+
# --- NOVA FUNÇÃO PRINCIPAL QUE GERA APENAS TEXTO PURO ---
|
| 100 |
+
def processar_documentos_para_whatsapp(titular_nascido_2010, categoria, modalidade, titular_carencia, dependentes_info):
|
| 101 |
+
texto_final = ""
|
| 102 |
lista_completa = []
|
| 103 |
docs_carencia = obter_documentos_carencia()
|
| 104 |
|
|
|
|
| 122 |
lista_completa.append((f"Dependente: {nome_simples}", docs_dep))
|
| 123 |
|
| 124 |
for nome, documentos in lista_completa:
|
| 125 |
+
texto_final += formatar_documentos_para_whatsapp(nome, documentos)
|
| 126 |
|
| 127 |
+
# Retorna o texto puro para o Textbox e torna o botão de cópia visível
|
| 128 |
+
return texto_final.strip(), gr.update(visible=True)
|
| 129 |
|
| 130 |
def atualizar_lista_inclusos(titular_nascido_2010, categoria, modalidade, titular_carencia, dependentes_info):
|
| 131 |
lista_inclusos = []
|
|
|
|
| 207 |
btn_submit = gr.Button("🔍 Gerar Lista de Documentos", variant="primary")
|
| 208 |
|
| 209 |
with gr.Column():
|
| 210 |
+
# A única caixa de texto para saída e cópia
|
| 211 |
output_textbox = gr.Textbox(
|
| 212 |
+
label="Documentos Necessários (Pronto para copiar e colar no WhatsApp!)",
|
| 213 |
+
interactive=False, # Não permite que o usuário digite
|
| 214 |
+
lines=20, # Aumenta o espaço para visualizar
|
| 215 |
+
elem_id="documentos-output-textbox" # ID para o JS, para o botão de cópia
|
|
|
|
| 216 |
)
|
| 217 |
+
btn_copiar = gr.Button("📋 Copiar Lista", visible=False)
|
| 218 |
status_copia = gr.Textbox(label="Status da Cópia", interactive=False, visible=False)
|
| 219 |
|
| 220 |
def atualizar_modalidades(categoria):
|
|
|
|
| 253 |
outputs=lista_inclusos
|
| 254 |
)
|
| 255 |
|
| 256 |
+
# O botão de submissão agora atualiza o único textbox e torna o botão de cópia visível
|
| 257 |
btn_submit.click(
|
| 258 |
+
processar_documentos_para_whatsapp, # Funcao que gera texto puro
|
| 259 |
inputs=[
|
| 260 |
titular_nascido_2010,
|
| 261 |
categoria,
|
|
|
|
| 263 |
titular_carencia,
|
| 264 |
dependentes_info
|
| 265 |
],
|
| 266 |
+
outputs=[output_textbox, btn_copiar]
|
| 267 |
)
|
| 268 |
|
| 269 |
btn_copiar.click(
|
| 270 |
+
None,
|
| 271 |
+
None,
|
| 272 |
status_copia,
|
| 273 |
js="""
|
| 274 |
async () => {
|