Skip to content

Commit c6d0b7a

Browse files
fix: fold filtering to support multiple search terms
1 parent ad0289f commit c6d0b7a

1 file changed

Lines changed: 10 additions & 3 deletions

File tree

map2loop/mapdata.py

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1140,9 +1140,16 @@ def parse_fold_map(self) -> tuple:
11401140
folds[config["structtype_column"]] = self.raw_data[Datatype.FOLD][
11411141
config["structtype_column"]
11421142
]
1143-
folds = folds[
1144-
folds[config["structtype_column"]].astype(str).str.contains(config["fold_text"])
1145-
]
1143+
if ',' in config["fold_text"]:
1144+
import re
1145+
fold_text = config["fold_text"].split(',')
1146+
search_terms = [term.strip().strip("'").strip('"') for term in fold_text]
1147+
escaped_terms = [re.escape(term) for term in search_terms]
1148+
# Combine the escaped terms using the pipe '|' symbol for alternation
1149+
fold_text_pattern = '|'.join(escaped_terms)
1150+
folds = folds[
1151+
folds[config["structtype_column"]].astype(str).str.contains(fold_text_pattern, case=False, regex=True, na=False)
1152+
]
11461153
if self.verbose_level > VerboseLevel.NONE:
11471154
if len(folds) < len(self.raw_data[Datatype.GEOLOGY]) and len(folds) == 0:
11481155
msg = f"Fold map reduced to 0 folds as structtype_column ({config['structtype_column']}) does not contains any row with fold_text \"{config['fold_text']}\""

0 commit comments

Comments
 (0)