gbope commited on
Commit
9e04dca
·
verified ·
1 Parent(s): 86eca8c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -20
app.py CHANGED
@@ -69,14 +69,14 @@ def simplificar_dependente(nome):
69
  }
70
  return simplificacoes.get(nome, nome)
71
 
72
- def formatar_documentos_markdown(nome, documentos):
73
- # Formata a lista de documentos usando Markdown
74
- resultado = f"### Documentos necessários para **{nome}**:\n"
75
  for doc in documentos:
76
  if doc == "DA EMPRESA:":
77
- resultado += f"\n#### {doc}\n" # Use Markdown para sub-cabeçalho
78
  else:
79
- resultado += f"- {doc}\n" # Use Markdown para lista
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
- def processar_documentos_markdown(titular_nascido_2010, categoria, modalidade, titular_carencia, dependentes_info):
100
- resultado = ""
 
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
- resultado += formatar_documentos_markdown(nome, documentos)
125
 
126
- return resultado.strip() # Remove espaços extras no final
 
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
- # Única caixa de texto para saída e cópia, que aceita Markdown
209
  output_textbox = gr.Textbox(
210
- label="Documentos Necessários (Copie daqui!)",
211
- interactive=False,
212
- lines=20, # Aumentar o número de linhas para melhor visualização
213
- render_as_markdown=True, # CORREÇÃO: Usar render_as_markdown=True
214
- elem_id="documentos-output-textbox" # ID para o JS
215
  )
216
- btn_copiar = gr.Button("📋 Copiar Lista", visible=False) # Botão de copiar inicialmente invisível
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
- processar_documentos_markdown, # Agora esta função gera Markdown
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] # A saída vai para o Textbox, e o botão de copiar fica visível
265
  )
266
 
267
  btn_copiar.click(
268
- None, # Nenhuma função Python necessária
269
- None, # Nenhuma entrada Python necessária
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 () => {