Format der SivasNummer ohne +
This commit is contained in:
+16
-8
@@ -149,12 +149,19 @@ def resolve_container_refs(text, container_map):
|
||||
kommaseparierte Liste aus [container]. Kommt das Muster mehrfach vor,
|
||||
wird jedes Vorkommen einzeln ersetzt. Unbekannte 0_BG-Werte bleiben
|
||||
unveraendert stehen.
|
||||
|
||||
Anschliessend werden verbleibende "+"-Trenner (z.B. zwischen Artikelnr.
|
||||
und 0_BG-Referenz) durch ", " ersetzt, damit SivasNummer ausschliesslich
|
||||
eine kommaseparierte Liste ist.
|
||||
"""
|
||||
if not container_map or "0_BG" not in text:
|
||||
return text
|
||||
return CONTAINER_PATTERN.sub(
|
||||
lambda m: container_map.get(m.group(0), m.group(0)), text
|
||||
)
|
||||
if container_map and "0_BG" in text:
|
||||
text = CONTAINER_PATTERN.sub(
|
||||
lambda m: container_map.get(m.group(0), m.group(0)), text
|
||||
)
|
||||
if "+" in text:
|
||||
parts = [p.strip() for p in text.split("+") if p.strip()]
|
||||
text = ", ".join(parts)
|
||||
return text
|
||||
|
||||
|
||||
def resolve_value(source, json_entry, sivasnr, container_map=None):
|
||||
@@ -164,9 +171,10 @@ def resolve_value(source, json_entry, sivasnr, container_map=None):
|
||||
- {sivasnr} -> SivasNr-Wert
|
||||
- Feldname -> Wert aus json_entry
|
||||
|
||||
Wird das Feld "Sivasnr" aufgeloest und enthaelt der Wert ein oder
|
||||
mehrere 0_BGxxxxxx-Muster, werden diese anhand von [container] durch
|
||||
die dort hinterlegte kommaseparierte Liste ersetzt.
|
||||
Wird das Feld "Sivasnr" aufgeloest, werden enthaltene 0_BGxxxxxx-Muster
|
||||
anhand von [container] durch die dort hinterlegte kommaseparierte Liste
|
||||
ersetzt und verbleibende "+"-Trenner durch ", " ersetzt, sodass das
|
||||
Ergebnis ausschliesslich eine kommaseparierte Liste ist (keine "+" mehr).
|
||||
"""
|
||||
source = source.strip()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user