DHEIVER commited on
Commit
9b1e761
·
verified ·
1 Parent(s): 1a11491

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +88 -30
app.py CHANGED
@@ -160,11 +160,58 @@ class LegalDocumentGenerator:
160
 
161
  def create_interface():
162
  generator = LegalDocumentGenerator()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
163
 
164
  with gr.Blocks() as interface:
165
  gr.Markdown("# Gerador de Peças Jurídicas Criminais")
166
 
167
  with gr.Tab("Dados do Caso"):
 
 
 
 
 
 
168
  case_info = gr.Textbox(
169
  label="Informações do Caso",
170
  placeholder="Descreva o caso detalhadamente",
@@ -215,37 +262,48 @@ def create_interface():
215
  placeholder="O documento gerado aparecerá aqui"
216
  )
217
 
218
- def generate(
219
- case_info, doc_type,
220
- name, nationality, profession, id_num,
221
- address, city, state, zip_code,
222
- court, jurisdiction, process_num,
223
- lawyer_name, lawyer_oab, lawyer_state
224
- ):
225
- client_data = {
226
- "nome": name,
227
- "nacionalidade": nationality,
228
- "profissao": profession,
229
- "rg": id_num,
230
- "endereco": address,
231
- "cidade": city,
232
- "estado": state,
233
- "cep": zip_code,
234
- "vara": court,
235
- "comarca": jurisdiction,
236
- "numero_processo": process_num,
237
- "advogado": lawyer_name,
238
- "numero_oab": lawyer_oab,
239
- "estado_oab": lawyer_state
240
- }
241
-
242
- return generator.generate_document(case_info, doc_type, client_data)
 
 
243
 
244
- def clear_fields():
245
- return [""] * 16
 
 
 
 
 
 
 
 
 
246
 
247
  generate_btn.click(
248
- generate,
249
  inputs=[
250
  case_info, doc_type,
251
  client_name, client_nationality, client_profession, client_id,
@@ -257,7 +315,7 @@ def create_interface():
257
  )
258
 
259
  clear_btn.click(
260
- clear_fields,
261
  outputs=[
262
  case_info, doc_type,
263
  client_name, client_nationality, client_profession, client_id,
@@ -268,7 +326,7 @@ def create_interface():
268
  )
269
 
270
  return interface
271
-
272
  if __name__ == "__main__":
273
  interface = create_interface()
274
  interface.launch()
 
160
 
161
  def create_interface():
162
  generator = LegalDocumentGenerator()
163
+
164
+ example_cases = {
165
+ "habeas corpus": {
166
+ "case_info": "Cliente João da Silva foi preso em flagrante no dia 15/12/2023 por suposto furto em loja, mas há provas em vídeo mostrando que ele estava em outro local no momento do crime.",
167
+ "client_data": {
168
+ "name": "João da Silva",
169
+ "nationality": "Brasileiro",
170
+ "profession": "Comerciante",
171
+ "id": "12.345.678-9",
172
+ "address": "Rua das Flores, 123",
173
+ "city": "São Paulo",
174
+ "state": "SP",
175
+ "zip": "01234-567",
176
+ "court": "1ª Vara Criminal",
177
+ "jurisdiction": "São Paulo",
178
+ "process_number": "0123456-78.2023.8.26.0001",
179
+ "lawyer_name": "Dr. Pedro Santos",
180
+ "lawyer_oab": "123456",
181
+ "lawyer_state": "SP"
182
+ }
183
+ },
184
+ "defesa prévia": {
185
+ "case_info": "Cliente Maria Oliveira foi denunciada por tráfico de drogas após revista policial sem mandado em sua residência, onde foram encontradas substâncias ilícitas.",
186
+ "client_data": {
187
+ "name": "Maria Oliveira",
188
+ "nationality": "Brasileira",
189
+ "profession": "Professora",
190
+ "id": "98.765.432-1",
191
+ "address": "Av. Principal, 456",
192
+ "city": "São Paulo",
193
+ "state": "SP",
194
+ "zip": "04321-765",
195
+ "court": "2ª Vara Criminal",
196
+ "jurisdiction": "São Paulo",
197
+ "process_number": "0987654-32.2023.8.26.0002",
198
+ "lawyer_name": "Dra. Ana Costa",
199
+ "lawyer_oab": "654321",
200
+ "lawyer_state": "SP"
201
+ }
202
+ }
203
+ }
204
 
205
  with gr.Blocks() as interface:
206
  gr.Markdown("# Gerador de Peças Jurídicas Criminais")
207
 
208
  with gr.Tab("Dados do Caso"):
209
+ example_selector = gr.Dropdown(
210
+ label="Exemplos",
211
+ choices=["Selecione um exemplo...", "Exemplo Habeas Corpus", "Exemplo Defesa Prévia"],
212
+ value="Selecione um exemplo..."
213
+ )
214
+
215
  case_info = gr.Textbox(
216
  label="Informações do Caso",
217
  placeholder="Descreva o caso detalhadamente",
 
262
  placeholder="O documento gerado aparecerá aqui"
263
  )
264
 
265
+ def load_example(example_choice):
266
+ if example_choice == "Exemplo Habeas Corpus":
267
+ data = example_cases["habeas corpus"]
268
+ elif example_choice == "Exemplo Defesa Prévia":
269
+ data = example_cases["defesa prévia"]
270
+ else:
271
+ return [""] * 16
272
+
273
+ client = data["client_data"]
274
+ return [
275
+ data["case_info"],
276
+ example_choice.lower().replace("exemplo ", ""),
277
+ client["name"],
278
+ client["nationality"],
279
+ client["profession"],
280
+ client["id"],
281
+ client["address"],
282
+ client["city"],
283
+ client["state"],
284
+ client["zip"],
285
+ client["court"],
286
+ client["jurisdiction"],
287
+ client["process_number"],
288
+ client["lawyer_name"],
289
+ client["lawyer_oab"],
290
+ client["lawyer_state"]
291
+ ]
292
 
293
+ example_selector.change(
294
+ load_example,
295
+ inputs=[example_selector],
296
+ outputs=[
297
+ case_info, doc_type,
298
+ client_name, client_nationality, client_profession, client_id,
299
+ client_address, client_city, client_state, client_zip,
300
+ court, jurisdiction, process_number,
301
+ lawyer_name, lawyer_oab, lawyer_state
302
+ ]
303
+ )
304
 
305
  generate_btn.click(
306
+ generator.generate_document,
307
  inputs=[
308
  case_info, doc_type,
309
  client_name, client_nationality, client_profession, client_id,
 
315
  )
316
 
317
  clear_btn.click(
318
+ lambda: [""] * 16,
319
  outputs=[
320
  case_info, doc_type,
321
  client_name, client_nationality, client_profession, client_id,
 
326
  )
327
 
328
  return interface
329
+
330
  if __name__ == "__main__":
331
  interface = create_interface()
332
  interface.launch()