From 5a31c784c16a791db23d5002a76f941fb1d60c79 Mon Sep 17 00:00:00 2001
From: Michael Rudolf <rudolf@geo.tu-darmstadt.de>
Date: Mon, 12 May 2025 16:42:41 +0200
Subject: [PATCH] Fixes #116

---
 u4py/io/docx_report.py | 30 ++++++++++++++++++++----------
 1 file changed, 20 insertions(+), 10 deletions(-)

diff --git a/u4py/io/docx_report.py b/u4py/io/docx_report.py
index 74bf317..aff3fb3 100644
--- a/u4py/io/docx_report.py
+++ b/u4py/io/docx_report.py
@@ -5,12 +5,12 @@ requirements of the HLNUG.
 
 import os
 
-import numpy as np
 import docx
 import docx.parts
 import docx.shared
 import geopandas as gp
 import humanize
+import numpy as np
 import uncertainties as unc
 from docx.document import Document
 from docx.enum.text import WD_ALIGN_PARAGRAPH
@@ -115,7 +115,17 @@ def site_report(
         document = soils(img_path, img_fmt, document)
     FIGURENUM = 1
     # Save to docx file
-    document.save(os.path.join(output_path_docx, f"{group:05}_info.docx"))
+    mapnums = eval(row[1].geology_mapnum)
+    if mapnums:
+        docx_path = (
+            os.path.join(output_path_docx, f"{str(mapnums)}_{group:05}.docx")
+            .replace("[", "")
+            .replace("]", "")
+            .replace(", ", "_")
+        )
+    else:
+        docx_path = os.path.join(output_path_docx, f"XXXX_{group:05}.docx")
+    document.save(docx_path)
 
 
 def location(series: gp.GeoSeries, document: Document) -> Document:
@@ -204,10 +214,7 @@ def hlnug_description(
         if isinstance(mapnum, list):
             mapname = eval(row["geology_mapname"])
             map_list = [
-                f"{mpnum} {mpname}"
-                for mpnum, mpname in zip(
-                    mapnum, mapname
-                )
+                f"{mpnum} {mpname}" for mpnum, mpname in zip(mapnum, mapname)
             ]
             mapnum_string = u4human.listed_strings(map_list)
             prgph.add_run(f"auf den Kartenblättern {mapnum_string}. ")
@@ -300,7 +307,7 @@ def hlnug_description(
                 + "Entfernung vom Mittelpunkt der Rutschung befindet sich die "
                 + f"{row['roads_nearest_primary_name']}. "
             )
-        elif row["roads_nearest_secondary_dist"]>0:
+        elif row["roads_nearest_secondary_dist"] > 0:
             prgph.add_run(
                 f"In ca. {int(row['roads_nearest_secondary_dist'])}\u00a0m "
                 + "Entfernung vom Mittelpunkt der Rutschung befindet sich "
@@ -310,16 +317,19 @@ def hlnug_description(
             else:
                 prgph.add_run("eine nicht benannte Landstraße. ")
         else:
-            prgph.add_run("Im Umkreis von 1\u00a0km sind keine größeren Straßen vorhanden. ")
+            prgph.add_run(
+                "Im Umkreis von 1\u00a0km sind keine größeren Straßen vorhanden. "
+            )
 
     if row["railways_has"]:
         prgph.add_run(
             "Eine Bahnlinie durchquert das Gebiet auf "
-            +f"{int(row['railways_length'])}\u00a0m Länge. "
+            + f"{int(row['railways_length'])}\u00a0m Länge. "
         )
     elif row["railways_close"]:
         prgph.add_run(
-            f"Eine Bahnlinie liegt ca. {int(row['railways_length'])}\u00a0m " + "entfernt vom Mittelpunkt der Rutschung. "
+            f"Eine Bahnlinie liegt ca. {int(row['railways_length'])}\u00a0m "
+            + "entfernt vom Mittelpunkt der Rutschung. "
         )
 
     # Add drill sites
-- 
GitLab