smolinski commited on
Commit
f02dc22
·
verified ·
1 Parent(s): 2ebf09a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +18 -28
app.py CHANGED
@@ -268,7 +268,7 @@ def cleanup_old_sessions(base_path, max_age_days=1):
268
 
269
  # 3. Zapis odpowiedzi do pliku .docx
270
 
271
- def zapisz_odpowiedz(odpowiedz, pytanie, sources, cytaty, user_path):
272
  if not odpowiedz or odpowiedz.strip() == "" or not pytanie.strip():
273
  print("Błąd: Odpowiedź lub pytanie są puste!")
274
  return None
@@ -298,24 +298,14 @@ def zapisz_odpowiedz(odpowiedz, pytanie, sources, cytaty, user_path):
298
  paragraph.paragraph_format.space_before = Pt(0)
299
  paragraph.paragraph_format.space_after = Pt(5)
300
 
301
- # Pytanie
302
- p1 = doc.add_paragraph()
303
- formatuj_naglowek(p1, "Pytanie:")
304
- p1 = doc.add_paragraph(pytanie)
305
- formatuj_paragraf(p1)
306
-
307
- doc.add_paragraph(" ")
308
-
309
- # Odpowiedź
310
- p2 = doc.add_paragraph()
311
- formatuj_naglowek(p2, "Odpowiedź:")
312
-
313
  def dodaj_markdown_tekst(doc, text):
314
  lines = text.splitlines()
315
  for line in lines:
 
316
  if line.strip().startswith(("- ", "* ")):
317
  para = doc.add_paragraph(style='List Bullet')
318
  content = line.strip()[2:]
 
319
  elif line.strip().startswith("> "):
320
  para = doc.add_paragraph()
321
  para.paragraph_format.left_indent = Pt(20)
@@ -324,6 +314,7 @@ def zapisz_odpowiedz(odpowiedz, pytanie, sources, cytaty, user_path):
324
  para = doc.add_paragraph()
325
  content = line
326
 
 
327
  pattern = r"(\*\*.*?\*\*|\*.*?\*|~~.*?~~|[^*~]+)"
328
  parts = re.findall(pattern, content)
329
 
@@ -341,25 +332,24 @@ def zapisz_odpowiedz(odpowiedz, pytanie, sources, cytaty, user_path):
341
  run.font.name = "Calibri"
342
  run.font.size = Pt(12)
343
 
344
- dodaj_markdown_tekst(doc, odpowiedz)
 
 
 
345
 
346
  doc.add_paragraph(" ")
347
 
348
- # Źródła – zawsze
 
 
 
 
 
349
  if sources and sources.strip():
350
  p3 = doc.add_paragraph()
351
  formatuj_naglowek(p3, "Źródła:")
352
- for line in sources.strip().splitlines():
353
- para = doc.add_paragraph(line)
354
- formatuj_paragraf(para)
355
-
356
- # Cytaty – tylko jeśli przekazane
357
- if cytaty and cytaty.strip():
358
- p4 = doc.add_paragraph()
359
- formatuj_naglowek(p4, "Cytaty:")
360
- for line in cytaty.strip().splitlines():
361
- para = doc.add_paragraph(line)
362
- formatuj_paragraf(para)
363
 
364
  doc.save(file_path)
365
  print(f"Plik zapisany: {file_path}")
@@ -503,7 +493,7 @@ with gr.Blocks(css="""
503
  outputs=historia_formularza
504
  ).then(
505
  zapisz_odpowiedz,
506
- inputs=[output_answer, input_text_form, output_sources, gr.State(""), session_dir], # cytaty puste!
507
  outputs=None
508
  ).then(
509
  lista_plikow,
@@ -523,7 +513,7 @@ with gr.Blocks(css="""
523
  outputs=output_answer
524
  ).then(
525
  zapisz_odpowiedz,
526
- inputs=[output_answer, input_text_form, output_sources, output_cytaty, session_dir],
527
  outputs=None
528
  ).then(
529
  lista_plikow,
 
268
 
269
  # 3. Zapis odpowiedzi do pliku .docx
270
 
271
+ def zapisz_odpowiedz(odpowiedz, pytanie, sources, user_path):
272
  if not odpowiedz or odpowiedz.strip() == "" or not pytanie.strip():
273
  print("Błąd: Odpowiedź lub pytanie są puste!")
274
  return None
 
298
  paragraph.paragraph_format.space_before = Pt(0)
299
  paragraph.paragraph_format.space_after = Pt(5)
300
 
 
 
 
 
 
 
 
 
 
 
 
 
301
  def dodaj_markdown_tekst(doc, text):
302
  lines = text.splitlines()
303
  for line in lines:
304
+ # Lista wypunktowana
305
  if line.strip().startswith(("- ", "* ")):
306
  para = doc.add_paragraph(style='List Bullet')
307
  content = line.strip()[2:]
308
+ # Cytat
309
  elif line.strip().startswith("> "):
310
  para = doc.add_paragraph()
311
  para.paragraph_format.left_indent = Pt(20)
 
314
  para = doc.add_paragraph()
315
  content = line
316
 
317
+ # Markdown inline: **bold**, *italic*, ~~strikethrough~~
318
  pattern = r"(\*\*.*?\*\*|\*.*?\*|~~.*?~~|[^*~]+)"
319
  parts = re.findall(pattern, content)
320
 
 
332
  run.font.name = "Calibri"
333
  run.font.size = Pt(12)
334
 
335
+ p1 = doc.add_paragraph()
336
+ formatuj_naglowek(p1, "Pytanie:")
337
+ p1 = doc.add_paragraph(pytanie)
338
+ formatuj_paragraf(p1)
339
 
340
  doc.add_paragraph(" ")
341
 
342
+ p2 = doc.add_paragraph()
343
+ formatuj_naglowek(p2, "Odpowiedź:")
344
+ dodaj_markdown_tekst(doc, odpowiedz)
345
+
346
+ doc.add_paragraph(" ")
347
+
348
  if sources and sources.strip():
349
  p3 = doc.add_paragraph()
350
  formatuj_naglowek(p3, "Źródła:")
351
+ p3 = doc.add_paragraph(re.sub(r":.*", "", sources))
352
+ formatuj_paragraf(p3)
 
 
 
 
 
 
 
 
 
353
 
354
  doc.save(file_path)
355
  print(f"Plik zapisany: {file_path}")
 
493
  outputs=historia_formularza
494
  ).then(
495
  zapisz_odpowiedz,
496
+ inputs=[output_answer, input_text_form, gr.State(""), session_dir], # <– puste cytaty!
497
  outputs=None
498
  ).then(
499
  lista_plikow,
 
513
  outputs=output_answer
514
  ).then(
515
  zapisz_odpowiedz,
516
+ inputs=[output_answer, input_text_form, output_cytaty, session_dir],
517
  outputs=None
518
  ).then(
519
  lista_plikow,