alexkueck commited on
Commit
9bf284f
1 Parent(s): 18a3516

Update utils.py

Browse files
Files changed (1) hide show
  1. utils.py +12 -8
utils.py CHANGED
@@ -756,25 +756,29 @@ def create_picture(history, prompt):
756
  # Ausgabe in PDF des Chathistory
757
  ########################################
758
  #Aufzählungen in der History erkennen und auch als Auflistung darstellen
759
- def erkennen_und_formatieren_von_aufzaehlungen_backup(text, styles):
760
  """
761
  Erkennt Aufzählungen im Text und gibt eine entsprechend formatierte ListFlowable oder Paragraph zurück.
762
  """
763
  # Aufzählungszeichen oder Nummerierungen erkennen
764
  aufzaehlungszeichen = ['-', '*', '•']
765
  nummerierung = [f'{i}.' for i in range(1, 11)] # Beispiel für einfache Nummerierungserkennung
766
-
 
767
  zeilen = text.split('\n')
768
  list_items = []
769
 
770
  for zeile in zeilen:
771
  # Prüft, ob die Zeile mit einem Aufzählungszeichen oder einer Nummerierung beginnt
772
- if any(zeile.lstrip().startswith(zeichen) for zeichen in aufzaehlungszeichen + nummerierung):
773
  # Entfernt das Aufzählungszeichen/Nummerierung für die Darstellung
774
- for zeichen in aufzaehlungszeichen + nummerierung:
775
- if zeile.lstrip().startswith(zeichen):
776
- zeile = zeile.lstrip()[len(zeichen):].lstrip()
777
- break
 
 
 
778
  list_items.append(ListItem(Paragraph(zeile, styles['BodyText'])))
779
  else:
780
  # Wenn die Zeile nicht als Teil einer Aufzählung erkannt wird, breche die Schleife ab
@@ -789,7 +793,7 @@ def erkennen_und_formatieren_von_aufzaehlungen_backup(text, styles):
789
 
790
 
791
  #Aufzählungen in der History erkennen und auch als Auflistung darstellen
792
- def erkennen_und_formatieren_von_aufzaehlungen(text, styles):
793
  """
794
  Erkennt Aufzählungen im Text und gibt eine entsprechend formatierte ListFlowable oder Paragraph zurück.
795
  """
 
756
  # Ausgabe in PDF des Chathistory
757
  ########################################
758
  #Aufzählungen in der History erkennen und auch als Auflistung darstellen
759
+ def erkennen_und_formatieren_von_aufzaehlungen(text, styles):
760
  """
761
  Erkennt Aufzählungen im Text und gibt eine entsprechend formatierte ListFlowable oder Paragraph zurück.
762
  """
763
  # Aufzählungszeichen oder Nummerierungen erkennen
764
  aufzaehlungszeichen = ['-', '*', '•']
765
  nummerierung = [f'{i}.' for i in range(1, 11)] # Beispiel für einfache Nummerierungserkennung
766
+ nummerierung_regex = r"^\s*\d+\.\s*" # Optional Leerzeichen, gefolgt von Ziffern und einem Punkt, dann Leerzeichen
767
+
768
  zeilen = text.split('\n')
769
  list_items = []
770
 
771
  for zeile in zeilen:
772
  # Prüft, ob die Zeile mit einem Aufzählungszeichen oder einer Nummerierung beginnt
773
+ if any(zeile.lstrip().startswith(zeichen) for zeichen in aufzaehlungszeichen + nummerierung) or re.match(nummerierung_regex, zeile.lstrip()):
774
  # Entfernt das Aufzählungszeichen/Nummerierung für die Darstellung
775
+ if re.match(nummerierung_regex, zeile.lstrip()):
776
+ zeile = re.sub(nummerierung_regex, '', zeile.lstrip(), 1).lstrip() # Entfernt nummerierte Aufzählungszeichen
777
+ else:
778
+ for zeichen in aufzaehlungszeichen + nummerierung:
779
+ if zeile.lstrip().startswith(zeichen):
780
+ zeile = zeile.lstrip()[len(zeichen):].lstrip()
781
+ break
782
  list_items.append(ListItem(Paragraph(zeile, styles['BodyText'])))
783
  else:
784
  # Wenn die Zeile nicht als Teil einer Aufzählung erkannt wird, breche die Schleife ab
 
793
 
794
 
795
  #Aufzählungen in der History erkennen und auch als Auflistung darstellen
796
+ def erkennen_und_formatieren_von_aufzaehlungen_backup(text, styles):
797
  """
798
  Erkennt Aufzählungen im Text und gibt eine entsprechend formatierte ListFlowable oder Paragraph zurück.
799
  """